[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.
Looking at the test explains it, but what threw me is the wording "Uses the SQL function ``akeys()`` to get an array of the keys." where other lookups start with something like "Returns".  The wording made me think this was some sort of values_list like functionality. I'd suggest keeping the same pattern, something like "Returns objects whose keys match those in the given list. Uses the SQL function..."