luigi.s3 api changes.

* Add support for flags other than _SUCCESS.
* Introduce S3FlagTarget instead of S3EmrTarget, as there's really
  nothing EMR specific about that target (which could be confusing).
Ensures that dependencies have at least as high priority as dependents
Removes duplicate loops over deps in priority update
Merge pull request #444 from Houzz/recursive_priority

Ensures that dependencies have at least as high priority as dependents
Move creating dummy tasks for task deps from _update_prority to _add_task

See #444
Merge pull request #428 from jcrobak/s3-api-changes

luigi.s3 api changes.
Merge pull request #452 from spotify/erikbern/444-patch

Move creating dummy tasks for task deps from _update_prority to _add_task
Adds resource limitations for tasks
Changes resource example
Treats empty package.__path__ like it's missing
Merge pull request #453 from Houzz/ignore_empty_package_path

Treats empty package.__path__ like it's missing
hdfs: Use logger rather than print statements

I tested this by running the following on a hdfs-configured machine:

    import luigi.hdfs
    import luigi.interface

    luigi.interface.setup_interface_logging()

    pipe = luigi.hdfs.HdfsAtomicWritePipe('my_file')
    pipe.writeLine('Hello')
    pipe.abort()
    pipe.writeLine('world')
    pipe.close()
Merge pull request #457 from Tarrasch/use-logger-not-print

hdfs: Use logger rather than print statements
Merge pull request #445 from Houzz/resources

Allows specification of resource limitations for tasks
Fixes resource tracking bug in scheduler
Merge pull request #458 from Houzz/update_resources

Fixes resource tracking bug in scheduler
More robust exists for hive.

Instead of trying to scrape the output for a "table not found" we can just look at the database and see if the table exists by querying for all the tables with the exact name.