WIP: Identifying unique concerns in state and preping for refactoring each of those concerns up the stack.

Part 2 of decoupling state from business logic and transitioning it to simple a transaction layer for writing and reading the state from mongo.

We have split policy in to multiple interfaces. We are still dependency injecting a Deployer instance in to state. This Deployer instance satisfies all of the different interfaces. The next set of steps will be to untangle the call stack for each interface, leaving transnational operations in state, and pushing the environment, service, machine, and unit related operations up the stack.

The code attempts to create these new interfaces at the borders of each of the mixed concerns with in state which will hopefully allow for separate pull requests for interface refactor.