Add `prehook` and `posthook` options

- Rename `key_map` to `aliases`
- Rename `key_prefix` to `prefix`
- Internal clean up
Add support for the `flat` option for model instances
1.0.1 Release
1.0.2 Bump
Ensure merge takes precedence over flat if true

Fix #7
1.0.2 Release
1.0.3 Bump
Fix incorrect assumption that related is always a defaultdict

Removed using defaultdict since its utility is now moot
1.0.3 Release
1.0.4 Bump
Change `posthook` to take the original instance as the first argument

In case the data needs to be augmented that requires the original
instance to be present, this ensures it is available. The serialized
data must still be returned from the hook.
Return `obj` as is if none of the serialization criteria match
Serialize the single embedded value

This is to ensure all the options are correctly parsed such
as field psuedo-selectors.
1.0.4 Release
1.0.5 Bump
Add travis-ci config
Fix posthook in test case to take instance as first argument
Add required SECRET_KEY setting for Django 1.5+
Add LICENSE file (BSD 2-clause)

Fix #8
Update .travis.yml to integrate with coveralls.io