Fix indentation.
A load of refactoring.

 * Make Database an internal-only "opaque handle", there are too many
   problems with encouraging it to be treated as a distinct logical
   entity.

 * Remove Database.close(). There is no safe way to close a Database
   once it has been opened, and leaving it open wastes minimal
   resources. Ergo, closing it is both pointless and dangerous.

 * Make Transaction take a db= parameter, which sets the default
   database operations will apply to.

 * Roll Database constructor into Environment.open_db(). Note the
   returned object is opaque.

 * Update all exceptions to name the function that returned the error
   code, instead of some improved text.

 * Ensure only one Database instance per named database per process
   exists. This is actually pretty useless and will probably be removed
   again.

 * Rename lmdb.connect() to lmdb.open(). Attempting to look a bit like
   the DBAPI is pointless.
Bump version number.