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

* [x] Add tests for belongsTo.
* [x] Add tests for no hydration.