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)

So you are doing if statements to differentiate?  That will get ugly fast...we've been down that road many times.  

Subclassing may not make sense on Amazon vs Openstack specifically, it might make more sense to do by template type, i.e. CFN vs HOT.