[WIP]'keep database' option when running tests

added option --keep-database when running tests, skips the database deletion/migrations and assumes you have a database that is up to date. I could add upgrade_db() in there but it was causing an infinite loop for me of db migrations which  I haven't looked into yet, also I changed clean_db to rebuild_db on the new_tests in the new_tests/helper function as it was causing the database to be dropped and cleaned twice when you run all the tests together.