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



Partial fix for #878
It doesn't look like there's anything else that I could check to verify if this property is set (it's entirely unused in this type). I'd much rather have this to verify the ctor does the right job than remove it for the sake of code niceness