Start wait_callback after setting self.pipe, to avoid crash in _wait_for_end when the process takes a while to start
Add license file.
Re-indent to PEP8 (ArchiveTeam/seesaw-kit#30)
Re-indent run-pipeline and run-warrior
Supports adding global variables to pipeline (ArchiveTeam/seesaw-kit#35).

Due to the way how the pipeline design works, tasks cannot reverse the
flow of direction of the data passing and pick up arguments from the
command line. As well due to the design of seesaw, passing a generic
"bind-address" argument that is specific to only a limited number task
would go against its philosophy.

Since the current implementation requires executing a pipeline file, it
cannot pickup arguments such the downloader name. As such, the global
variables are injected into the pipeline file. This commit allows users
to introduce additional global variables.

Example to set a variable on the command line:
"--context-value bind_address=1.2.3.4". This would introduce
"bind_address" into the global scope of the pipeline the same way as
"downloader".

To fix the Wget task, the pipeline will define its arguments as usual.
But before passing it into the Wget task, check
"if 'bind_address' in globals()". If true, then
"arguments.extend(['--bind-address', globals()['bind_address'])"
Specify the metavar for the context-value argument
Version 0.0.16.
Restrict nickname in run-pipeline. Fixes ArchiveTeam/seesaw-kit#34.

Nicknames are restricted in the same way as in the warrior interface.
Removes unused imports.
Adds some basic tests.
Prepares for Python 3 support.

Squashed commit of the following:

commit c1e47a8cdeef52a22b08bc9cd1e15c6bb8852ae5
Author: Christopher Foo <chris.foo@gmail.com>
Date:   Fri Nov 15 22:19:04 2013 +0800

    Remove python 3 travis testing. Fix version_info check.

commit b666f294601eff7755a8b6be784b763c186f4a0d
Author: Christopher Foo <chris.foo@gmail.com>
Date:   Fri Nov 15 22:02:11 2013 +0800

    Fix travis config

commit ff7059d36962b8a0d5e83d21d23a1d01d5049f50
Author: Christopher Foo <chris.foo@gmail.com>
Date:   Fri Nov 15 21:58:54 2013 +0800

    Configs Travis to execute 2to3
Adds Sphinx doc build scripts.
run-pipeline: Supports version arg
Makes test_executable check for stderr as well.
Fixes util_test.py to be useful.
Adds unit test base.
Add ExternalProcess tests.
Fixes AsyncPopen.pipe not defined (Closes ArchiveTeam/seesaw-kit/#26).

Merge commit '209480' into development

Conflicts:
	seesaw/externalprocess.py
Fixes off-by-one (Closes ArchiveTeam/seesaw-kit#29).
Reduce unittest waiting time for ExternalProcess.