With pg8000-1.9.13 passes engine/test_reconnect

The pg8000 dialect checks the text of the exception to determine if the
connection is closed. I'd (recklessly!) changed the text of the
exception in a recent version of the pg8000 driver adding capitalization
and a full stop. I've changed it back now so all works.
PEP8 tidy of test/engine/test_reconnect
Remove spurious print statements in pg8000 dialect
two_phase_recover, COMMIT PREPARED in transaction

In test/engine/test_transaction/test_two_phase_recover(), a COMMIT
PREPARED is issued while in a transaction. This causes an error, and
a prepared transaction is left hanging around which causes
the subsequent test to hang. I've altered the test to execute the
offending query with autocommit=true, then when it gets to the COMMIT
PRPARED it can go ahead.

There's another complication for pg8000 because its tpc_recover() method
started a transaction if one wasn't already in progress. I've decided
that this is incorrect behaviour and so from pg8000-1.9.13 this method
never starts or stops a transaction.
pg8000 now supports sane_multi_rowcount

From pg8000-1.9.14 sane_multi_rowcount is supported so this commit
updates the dialect accordingly.
Added documentation about interaction between `subqueryload` and LIMIT/OFFSET.
DropEnumType class available from postgres dialect
Public inspector method to load enum list

Provide opportunity to get enums list via an inspector instance public
interface.
add update() support to MutableDict
fix MutableDict.coerce

If a class inherited from MutableDict (say, for instance, to add an update() method), coerce() would give back an instance of MutableDict instead of an instance of the derived class.
- public method name is get_enums()
- return a list of dicts like other methods do
- don't combine 'schema' with 'name', leave them separate
- support '*' argument so that we can retrieve cross-schema
if needed
- remove "conn" argument
- use bound parameters for 'schema' in SQL
- order by schema, name, label
- adapt _load_enums changes to column reflection
- changelog
- module docs for get_enums()
- add drop of enums to --dropfirst
Merge branch 'pr126'

Conflicts:
	doc/build/changelog/changelog_10.rst
flake8 cleanup
- rename _InspectionAttr to InspectionAttr
- The :meth:`.InspectionAttr.info` collection is now moved down to
:class:`.InspectionAttr`, where in addition to being available
on all :class:`.MapperProperty` objects, it is also now available
on hybrid properties, association proxies, when accessed via
:attr:`.Mapper.all_orm_descriptors`.
fixes #2971
- The ``info`` parameter has been added to the constructor for
:class:`.SynonymProperty` and :class:`.ComparableProperty`.
- The ``info`` parameter has been added as a constructor argument
to all schema constructs including :class:`.MetaData`,
:class:`.Index`, :class:`.ForeignKey`, :class:`.ForeignKeyConstraint`,
:class:`.UniqueConstraint`, :class:`.PrimaryKeyConstraint`,
:class:`.CheckConstraint`.

fixes #2963
- repair against use here
- updates
on second thought we need to prioritize what really needs to be
here and what's just in changelog
pep8