massive rewrite

I'm stubborn and I know how I want things to be designed.

I like lots of parts of kickstack, but I need to basically
rewrite it for it to be the replacement for the openstack module

This is my first pass of that rewrite. There is still tons of work
to be done:

- finish nova
- write custom hiera backends that are needed to support Florian's
functionality.
- write tests

At this point, the code DOES NOT WORK

This is mostly an example of how I want to refactor it.