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



Partial fix for #878
They aren't all `Dictionary` types though - for instance - https://github.com/aspnet/Mvc/pull/973/files#diff-a3927970e87fd8e27a9c387e41b112c6R49