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



Partial fix for #878
pls also assert that "key1" remains in `sourceDictionary`