Start wait_callback after setting self.pipe, to avoid crash in _wait_for_end when the process takes a while to start
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.
Unittest assertIn fix for 2.6
Adds unittests for version string.
Version 0.1.1

Using semantic versioning. 0.0.16 is considered to be 0.1.0.