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



Partial fix for #878
You'd still fail with warning as errors. Regardless, @dougbu suggested changing this to be an IDictionary<string, TValue> since either consumer is of that type. That should avoid this issue