[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.
How similar is it to ApiExplorer? Does this new thing really serve the same purpose and perhaps have somewhat similar APIs? If it's sensible to keep the old name then let's do so, but if this thing is conceptually quite different then maybe it deserves a new name.