Refactor serializer to not be coupled to the store

At a high level this PR does the following:

* Serializers no longer use a `loader` and have zero side effects. Serializers now focus purely on serialization, not loading.
* Embedded records now follow the same lifecycle code paths as normal records. Aside from this making the code easier to follow, this also means that events like `didCreate` will now function properly.
* Solves a major issue with creating embedded records using `createRecord`. Currently, newly created embedded records are not re-used and stay around as phantom records.

This should help out with #682 and should fix this SO question: http://stackoverflow.com/questions/15953397/should-events-be-propagated-to-records-in-hasmany-relationship