can I get the printer to unload the filament it was just printing so I can swap the spool?
No, you can not do that, but you can swap to any other slot. The filament change gcode combines the unloading with the loading into one command.
I spent yesterday working through something similar, maybe this helps? (Note: the readme describes how to change the filament print order for other layers, the first layer has a separate section in the slicer).