Refactoring classes to have better semantic names.

When we name spaced the code some of our classes ended up with names that weren't as clear as the could be.  This pull request renames a bunch of classes so that code using the Framework is more readable and it is easier to grasp what a class is/does.  This pull request also includes a shifting around of classes in the Database package.  Now that we are using namespaces, it makes sense to namespace classes by database rather than by class type.