Enhance support for custom types

* Add per connection oid to name map
* Global default type format is now based on names not oids
* Add better docs for custom types
spurious return
Adding hstore support.  map[string]string will encode to hstores and throw errors on hstores with NULL values, and there is now a NullHstore type that is basically map[string]NullString and will both accept and decode NULL values properly
Instead of native map[string]string, use type pgx.Hstore instead
Add tests for Hstore
Rename NullHstore value to Hstore

Ensure consistency with other Null* types
Add tests for NullHstore
more docs
Add hstore to docs
Update changelog
Update obsolete documentation refs to TextEncoder and BinaryEncoder