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.
Add support for dynamic requiremnets

Tasks may now yield new requirements in run just as they are returned
in requires. If requirements are fulfilled when yielded the task will
continue, if not it will be rescheduled to be run when requirements are
finished. Note that this means that the task will be rerun from start.
Add dynamic requirement example
Add pyparsing to .travis.yml
Make it compatible with Python 2.6
Make parameter.serialize handle is_list
Change init proceduce for dynamic requirements

It used to be initialized using task_id now it's done using
task_family + str_params.
Add load_task function in interface
Remove id_to_parsable from task.py
Add test for task to str params conversion
Add dynamic dependency test

Also fix import problem where it would try to import worker_test
from luigi/test/test.py due to luigi/test having higher priority
in sys.path and worker_test being located in the test folder.
Merge pull request #424 from tommyengstrom/dynamic

Dynamic requirements
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.