Create database and tear down/recreate at end of each test. Fixes #195

This pull request means that there is always a populated test database that is wiped and re-created at the end of each test. This gets around some issues we've had where a database was required before tests were even run.
I see, yes that was my understanding, but it would be _GREAT_ if we
could change that. The whole qiita_env commands seem very convoluted as
most of the times you also have to modify the qiita_config file, etc.

On (Jul-21-14|11:00), Joshua Shorenstein wrote:
> >              def setUp(self):
> >                  super(DecoratedClass, self).setUp()
> >                  self.conn_handler = SQLConnectionHandler()
> >  
> >              @drop_test_database
> > +            @build_test_database
> 
> @ElDeveloper I don't think that's possible as even now you need to run the setup test environment script to create the database and settings table at the bare minimum. This doesn't add any extra steps, just makes it so the database is always populated instead of almost never populated. 
> 
> @josenavas Makes sense. Combined the two decorators.
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/qiita/pull/198/files#r15184451