Rewrote the Database Abstraction Layer.  There are two interfaces, a database and a query.  These interfaces allow us to manage our connections (database) and then manage our querying (query).  Query is a child of Database which gives us access to all its variables.