Database Opening

Implemented the basic archetecture for database opening. The spec
requires that your databases may be named any valid string so we will
map database names to UUID's and provide a lookup to get the name of
the DB on disk in a persistant manner. I chose to implement a
synchronous interface for the DB lookup, and cache the DB UUID's upon
load of the IDBEnvrironmnet.

Added the idb_internal namespace to allow for the internal properties
of request objects and classes be mutable and still provide strict read
only protection for the public interface. The idb_internal namespace is
declared internal to the package as well, so no one outside of the
package should be using the namespace to subvert access rights.

Stubbed out some events required by the spec.