Added doxygen documentation
Changed how construction and connection happens.

Connection to a driver's back-end resource now occurs separately from
the construction of the driver.  The static classes hide this difference
by connecting after constructing.
Formatting and spacing changes
Changed connection and construction.

Connection is now separate from construction in the drivers..  The
static helper classes still directly connect before returning an
instance of a driver.
Removed "connected" methods.

Instead, drivers should throw an exception if connection fails.