allow adapters to return anything but undefined, as we cast/resolve it to a promise anyways
cleanup
[Bugfix] async relationships being fetched due to relationship changes

As it turns out, all relationship changes are already guarded from taking being applied to relationship by the “isValue” check. Unfortunately, the act of getting the async relationship in-order to test if it is a value or a promise has side-affects which include fetching missing records.

This PR merely moves the check earlier.