`serialize` and `serializeToHash` Return a Promise.

These changes are necessary to help resolve #1535.
Fix Serialization of Async Polymorphic belongsTo

Asynchronous belongsTo associations are Promises, and, as such, their
constructors were not being correctly identified. This change ensures
such relationships are always resolved before identifying their type.

Resolves #1535