SQLStepQueue now works with MemSQL Distributed

Summary:
Modified SQLStepQueue to work with MemSQL Distributed.  Also it now only requires
one table, so it is infinitely less annoying to work with.

Also:
 -- added tests
 -- added extra_predicate (to pop/inspect different subsets of the queue)
 -- exposed escaping in database.py
 -- fixed some 2.6 compatibility issues
 -- added requeue and bulk_finish to sql_step_queue

Test Plan: ./setup.py test

Reviewers: mandrews, anders, ankur, neil

Reviewed By: anders

Differential Revision: http://grizzly.memsql.com/D4929
Release version 2.10.0

    * Modified SQLStepQueue to work with MemSQL distributed
    * added tests
    * added extra_predicate (to pop/inspect different subsets of the queue)
    * exposed escaping in database.py
    * fixed some 2.6 compatibility issues
    * added requeue and bulk_finish to sql_step_queue