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
Updates test/requirements.txt to allow running of all unit tests
Merges in new upstream resource definition

Conflicts:
	luigi/rpc.py
	luigi/scheduler.py
	luigi/server.py
	luigi/task.py
	luigi/worker.py
	test/central_planner_test.py
Merge branch 'buck_email_html_optional' into buck_dogfood
Merge pull request #447 from Houzz/update_requirements

Updates test/requirements.txt to allow running of all unit tests
Allows sending of html e-mail
Merge branch 'html_email' into buck_dogfood
Merge pull request #448 from Houzz/html_email

Allows sending of html e-mail
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