[Design] - Prototype of ResourceModel

/cc @yishaigalatzer @harshgMSFT 

Not included here:
- Model Metadata integration (e.g. retrieving the information like is a certain property required).
- Sample generation interface.
- Filter interface for customizing formatters (customization of the resource model to mimic what action filters can do for output formatting).
- Xml Documentation access.

Where possible I made decisions that are similar to webapi api explorer. See comments in the code for context on specific decision points and open questions.
This might turn out to be taking `DeclaredType` and `InstanceType`