Various small fixes for speedup and consistency -- requires real review

* removes unneeded defaults for lists* attempts to optimize the common case where lists on refreshed objects  are unchanged (and thus don't need `replace`-ing* replaces Model#init code using `removeAttr` to remove `null`  attributes with code in Cacheable.model  - this should be faster and more consistent because:    1. attributes are not set before being removed    2. code in `init` is not run when object stubs are loaded first,       which means unsightly `null` values still appear in the UI