Rewrite
Added: unlock() method
Major Update: exactly identical to queue_classic

- remove the possibility to use an other table
  (I believe the table itself and the way it is declared is internal)
- topbound can be specified at Queue instantiation
- lock() returns always a result fetched using a RealDictCursor cursor
- if environment variable DEBUG is set, enable some logging
  (maybe using the lib logging would be better)
- lock() returns always all the columns
- enqueue takes only method and args in method arguments
- enqueue turns args to JSON before inserting the row
- the SQL files are exactly the same than the original queue_classic
- tests are fixed
Update: remove the hack to instantiate ConnAdapter
Updated: use logging, fixed a missing import, rename variable
Updated: renamed variable in tests...
Re-order test files
Added: implement worker

There are still some small differences with the original queue_classic:
- connection argument of Worker initialization must be an instance of
  ConnAdapter. In the original queue_classic, a new object ConnAdapter
  is initialized using a standard connection. My ConnAdapter inherit
  directly from the standard connection object.
- the fork_and_work may not work: writing a test for it is a bit
  complicated since unittest catch also the SystemExit errors.

Notes:
ConnAdapter should be implemented like the original to avoid useless
reconnection.
Fixed: use more a regular psycopg2 connection object

- Queue now works fine with a regular psycopg2 connection object
- Same thing for the setup module
Updated: automatically turn the connection of Queue to autocommit
Updated: turn ConnAdapter to a real adapter

- Queue and ConnAdapter objects use a regular psycopg2 connection object
  and set this connection automatically in autocommit mode
- ConnAdapter object is now a real adapter: no inheritance at all
- Worker use a regular connection that is turned into a ConnAdapter for
  internal use but use the same connection to initialize the internal
  queues
- tests have been "adapted"

Note: this is not exactly the same than queue_classic since QC use the
adapter for the Queue object (which is not actually needed).
Added: comments from queue_classic
Added: ConnAdapter now can use env vars QC_DATABASE_URL or DATABASE_URL

Without any argument, ConnAdapter attempt to connect to a database given
by the URL stored in the environment variables QC_DATABASE_URL or
DATABASE_URL, just like the original queue_classic.
Updated: setup module now use the connection adapter.
Updated: enable method to call to not have a module path

(use __main__ by default)
Updated: Queue now use ConnAdapter because it's useful

You call enqueue() like this from the command-line:

python2 -c 'import pueuey; pueuey.Queue("my_queue").enqueue(".foo", ["bar", "baz"])'

It will use the QC_ env variable to connect to the database.
Added: worker tests
Added: log system identical to queue_classic