[contib.postgres] HStorefield

Beginnings of an `hstore` implementation. TODO:

- [x] support migrations to create the extension and register with psycopg2
- [x] expand the field definition, including restriction of variables
- [x] form field
- [x] add lookups
- [x] docs
- [x] validator

There is a design decision to make: do we want a simplistic hstore field which follows the rules of hstore itself - restricts to strings and null, or do we want something a bit more clever like `django-hstore` provides that does some json encoding on non-string types? I currently lean towards the former as we will also have support for a `jsonb` field for more rich data. This would also remove a lot of complexity from the `django-hstore` implementation - descriptors, subclasses of dict etc.
FWIW, there are 13 appearances of `isinstance(other, self.__class__)` in django, and 4 instances of `self.__class__ == other.__class__`.

Personally, I prefer the latter, but this is likely a separate ticket issue.