Normalize response values from HAL objects

Embedded and linked entities now implement the ResponsePromise interface.
Unlike linked relationships, only the entity is populated since no HTTP
request is made.

Significant changes to the `rest/util/responsePromise` were required in
order to interoperate with lazy promises. Rather than creating a
ResponsePromise type that extends when.Promise, the additional functions
are mixed onto the current promise.

Fixes: #92