Enforce more methods on serializer

* extractId
* extractAttribute
* extractHasMany
* extractBelongsTo
* createSerializedForm
* addId
* addAttribute
* addHasMany
* addBelongsTo
Merge pull request #717 from tchak/serializer-interface

Enforce more methods on serializer