3.0 Possible solution to empty association objects

While I'm not 100% complete on this, I think this is the start of a reasonable way to solve both #3806 and #3902. When an association has 0 non-null fields the association property is left as the default value.

### TODO

* [ ] Add tests for belongsTo.
* [ ] Add tests for no hydration.
* [ ] Add tests for different loading strategies.
I can do that.