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



Partial fix for #878
Also confirm copy-on-write semantics here and as used in `ViewDataDictionary`.