[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.
Should the name just remain ApiExplorer? For discoverability at least.... @Eilon / @danroth27 thoughts?