[Design] - Prototype of ResourceModel

/cc @yishaigalatzer @harshgMSFT 

Not included here:
- Model Metadata integration
- Sample generation interface
- Filter interface for customizing formatters

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 is the same as before... but there's a decision here. We could instead call the formatters when dataType == null/void and rely on them to do the right thing.