Get reusable dbschema

Description:
dbschema will now disconnect and reconnect if provided a database name
different from that to which it is currently connected. This was
necessary because unit tests kept overwriting data in the development
database.