Embedded Records assert payload includes root element before extracting

This PR adds an assertion to `extractSingle` and `extractArray` within the `EmbeddedRecordsMixin` to help with debugging, especially when working with non-standard data which would first need to be normalized.

It also fixes a bug when extracting embedded belongsTo associations which use non-standard IDs.
Basically this whole method is broken, and I've been trying to put together a test case but my local copy is a complete mess of various ideas I tried to fix it. I believe this is essentially the same as #1638