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



Partial fix for #878