fleetctl: Add restart functionality

Starts and stops a unit in one command.

refs #760 

This is a lot of copy+paste from the current start and stop commands. Feedback appreciated. :smile: 
You actually can't skip the blocking code here, since you must guarantee that the agent stopped the unit. If you don't assert this, the restart operation might not actually cause any work to happen.