Support stop/start for idle machines

Description

AWS instances are charged for an entire hour, even if they're just spun up then terminated. This can cause auto-scaler costs to blow out. Instead of terminating machines then creating new ones, stopping the ones above the IdleCount limit then spinning them up will reduce this.

Proposal

Add a configuration flag to [runners.machine] to support telling docker-machine to stop the instance instead of terminating it, then maintain a list of stopped instances that can be started again when needing to create a new instance.

Machines should still be terminated after they run MaxBuilds jobs.