Modifying ViewDataDictionary and ModelStateDictionary to copy on write instead of eagerly copying.



Partial fix for #878
nit: this class doesn't "represent" anything.  It _is_ an `IDictionary` that ...