Extract autodeploy functionality out for use in multiple widgets.

Refactor the autodeploy code out so that it can be used by both the machine view panel (as it is currently) and the deployer bar, which will need it to allow users to autodeploy unplaced units at deploy confirmation time.
can you put this alphabetical please?