Configuration API refactor [WIP]

Not ready for merge. Work in progress for all to see.
This merge is strictly defining the Configuration class.

From leankit:
Refactor all of ec-metal's configuration into an API
- config.json will still be an option (implement read)
- env vars included (remove from recipes and attributes)
- config objects will serialze into json for data bags

updating project to use data bag items is out of scope of this branch.
Can come from fog ala https://github.com/opscode/knife-ec2/blob/master/lib/chef/knife/ec2_base.rb#L68-L98