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.
Yeah, I couldn't think of a better way to do it. I considered checking the foreign key/primary key, but that falls down when specific fields are selected.

Another possibility I considered was to mark the entity as new is the primary key was null. This could also run into issues if the primary key fields were not selected.