Change `ViewDataDictionary` copy constructor to ensure `ModelMetadata` is
 never that for `object`
- `ViewDataDictionary<TModel>.ModelMetadata` was for `object` after base
 copy constructor got value from `ViewDataDictionary<object>`
- problem led to #1426 symptoms
- with copy constructor leaving `base.ModelMetadata==null` more often,
 `ViewDataDictionary<TModel>.ModelMetadata` usually tracks `TModel` if
 `Model==null`

nit:
- fix existing comment in main `ViewDataDictionary` copy constructor
Add "/home/nulluser" view to MVC sample
- exercises display and editor helpers when `Model==null`
Add more unit tests of `ViewDataDictionary` copy constructors