Allows multiple commands to share the same lock
Adds tests for multiple lock acquisitions
Fixes comment pluralization
Issue #340: Add triggering “event.core.start” when starting a task

- add event.core.start
- minor documentation fix
- add test and fine-tune other event tests a bit
make task family rendering not depending on each other

and expand running tasks by default
Added support for elasticsearch 1.0 or newer.

Provides an `ElasticsearchTarget` and a `CopyToIndex` template task.

Modeled after `luigi.contrib.rdbms.CopyToTable`.

A minimal example (assuming elasticsearch is running on localhost:9200):

    class ExampleIndex(CopyToIndex):
        index = 'example'

        def docs(self):
            return [{'_id': 1, 'title': 'An example document.'}]

    if __name__ == '__main__':
        task = ExampleIndex()
        luigi.build([task], local_scheduler=True)

Tests can be run against a local elasticsearch index.
Merge pull request #361 from Houzz/vis_non_blocking

Render each task family independantly
Merge pull request #340 from soxofaan/feature-start-event

Add triggering “event.core.start” when starting a task
Merge pull request #364 from miku/miku/esindex

Added support for elasticsearch 1.0 or newer.
More info for each worker
Merge pull request #349 from Houzz/lock_size

Adds a --lock-size parameter to control number of simultaneous commands
Add support for FTP
Can now add config paths before configparser is created (fixes #367)
Merge pull request #335 from spotify/erikbern/more-worker-info

More info for each worker
Merge pull request #368 from aldanor/master

Can now add config paths before configparser is created (fixes #367)
Merge pull request #363 from jurnix/master

Add support for FTP
Adding debug message when using the HDFS existence check
Merge pull request #373 from anyman/master

Adding debug message when using the HDFS existence check