Database manager

@isupeene Working Database manager that is tested. Still needs contracts.

Note: Need to run database_clear.sql and then database_setup.sql on our DB before submitting.
This is basically just reimplementing AUTO_INCREMENT.