Add transaction blocks

This adds transaction queue functionality to the SQLConnectionHandler. There is the ability to have multiple queues per connection handler, as well as the ability to use returned values from a previous sql query in subsequent queries in the queue.
Queues are created using the `create_queue` method and then added to using the `add_to_queue` method. Calling `execute_queue` executes the queue, as expected.
To use previous result values, you need to know the order a previous query returns in. Then, you can use a similar format to the string format function to insert these values. The tests added give a good example of this functionality.
I still don't understand why that is an issue, how are the admin creds
sourced?
On Oct 27, 2014 6:32 PM, "Joshua Shorenstein" <notifications@github.com>
wrote:

> In qiita_db/sql_connection.py:
>
> > @@ -57,6 +71,10 @@ def get_postgres_cursor(self):
> >
> >          Raises a QiitaDBConnectionError if the cursor cannot be created
> >          """
> > +        if self._connection.closed:
>
> Yes. And I'm assuming that the connection loss isn't on anything that
> needs admin, as that is click commands that make a connection, do some
> work, then close the connection. They shouldn't be open long enough to have
> an issue.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/biocore/qiita/pull/512/files#r19447394>.
>