Hello and welcome!
Darrman got to answers 1 and 2 before I could, so here’s some help with 3:
Here, Stan has written UnitActionRework, which is what is used to add menu commands like Swap to the unit menu and supports as many menu commands as you could need.