Adapter refactor

This introduces the concept of adapters (abstractions to how commands are run) and moves the LXC code into changes-client.