Allow hiverc to be a list so that multiple RC files can be loaded. The hive command hive
Updated the doc string of the hiverc function.
Allows workers to keep alive only for unique pending tasks

With resource limitations, it's very easy to have a lot of workers
sitting around just waiting for resources. This is problematic for
people using locks to prevent scheduling, as it will stop new tasks from
getting scheduled. To limit this behavior, this commit adds an option to
keep alive only if there is a pending task with all requirements done
which no other worker can work on. So older workers whose tasks are all
being waited on by newer workers can just die. I require the unique
tasks to be ready because all of my workers have a unique WrapperTask at
the root, and I don't want to wait for those. Having a unique ready task
tends to mean the same thing as having a unique pending task other than
the root one for me, so this works well for my scheduling patterns.

Since this won't work well for all scheduling patterns, it has to be
activated via a config parameter, worker-require-unique-ready as well as
enabling worker-keep-alive.
Remove unnecessary importlib dependency
Cleanup of luigi.mock

This change makes sure the manager (needed by MockFile) isn't instantiated in the global scope. Also a bunch of other cleanup to avoid pulling out internal variables in tests etc

luigi.mock would instantiate multiprocessing.Manager() in the global scope which ends up calling bind(). There is a limitation in the Linux kernel where named Unix sockets can't have longer names than 120 bytes, or else you will segfault. In Hadoop jobs, it turns out that the TMPDIR is actually a path longer than 120 bytes, which meant that any Hadoop job that accidentally imports luigi.mock will fail with a really obscure error.
Merge pull request #469 from spotify/erikbern/mock-cleanup

Cleanup of luigi.mock
Merge pull request #470 from spotify/freider/no_importlib

Remove unnecessary importlib dependency
send outputs back into yield statement (for dynamic requirements, #424)
Merge pull request #464 from vishalrp/master

Allow multiple hiverc files.
Implement Task.previous and Task.get_previous_completed

Move from Spotify internal to public
Refactor previous as utility functions
Use clone instead of class constructor
Merge pull request #473 from spotify/erikbern/dynamic-reqs-fix

send outputs back into yield statement (for dynamic requirements, #424)
More tests for priority
Merge pull request #474 from spotify/erikbern/priority-doc

More tests for priority
Move previous to util.py
Merge pull request #472 from sisidra/sisidra/task-previous

Implement Task.previous and Task.get_previous_completed
Add pyparsing as deb build dependency

I verified that this works by running this on Spotify's internal build
agents. Previous builds were failing with message

    ImportError: No module named pyparsing
Merge pull request #475 from Tarrasch/add_pyparsing_dependency

Add pyparsing as build dependency
Remove SkipTest which isn't Python 2.6-compatible.
Adding python-sqlalchemy debian dependency as to not break db_task_history tests