Feature/master/gh 95 action subsystem

This is a partial implementation of GH-95. It implements the framework of the Action system and starts decoupling the internal library from the CLI, and moves most of the deployment functionality into independent method objects that can be called with no additional setup.

This also addresses GH-193 by revamping how environment deployment and purging is handled. The new deploy environment logic tries to preload environments first, and if that fails it will immediately halt further execution, thereby preventing the accidental deployment of additional environments.