Merge application refactor branch

This PR represents a large amount of backwards-incompatible work in order to:

1. Add support for multiple applications per formation fixing #120 
2. Add layer types (proxy & runtime booleans) to fix #52 
3. Remove cloud-init dependency to fix #171 and make #73 and #121 possible/easier

It's important to note that this PR resets south DB migrations and requires standing up a new controller.  README and documentation will be updated in a separate PR.