Add models for cloud orchestration

This PR is split from original PR #333  (to be discarded). It focus only on the models for orchestrations. 
The master PR #523 covers the design and progress of the support for orchestration including AWS CloudFormation and OpenStack Heat.
![orchestration](https://cloud.githubusercontent.com/assets/7047579/4719534/6144c4e0-592a-11e4-9dc1-7d882f00f947.png)

Oh well, seems like a common OO thing.  One thing I find missing (not sure if the right word) in Ruby in abstract base classes are not treated with respect.  I know it's javaish, but there's something to be said for documenting the API expected of subclasses with methods that blow up.