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



Partial fix for #878
It's in Common (shared between ModelBinding and Core). We could move this to ModelBinding and make it public.