[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.
This is hard to parse visually, `return '{} @> {}'.format(lhs, rhs), params` looks better already.

The same pattern occurs several times in the file.