minimal tcsh support
fix to allow directories starting with hyphens
Completion and jumping for empty needles

This adds support for `j <tab>` and `j` without a needle to jump to the
first/best match.

Fixes https://github.com/joelthelion/autojump/issues/269
Fix bad encoding.

In python3, string.encode returns a byte array like:
b'14.1:\t/home/felix/devel/autojump'
This stops autojump from functioning at all.
Merge pull request #296 from blueyed/handle-empty-needle

Completion and jumping for empty needles
Merge pull request #298 from erbridge/fix_encoding_error

Fix bad encoding
formatting cleanup
Migrate from Yelp/Testify to py.test.

Closes #300.
Add tox for testing with different Python versions.
Duplicate fbf932 changes in proper locations and rebuild docs.
Merge branch 'tcsh' of https://github.com/jkuan/autojump into 282_add_tcsh_support
Add install / uninstall / documentation for tcsh shell.
Add a u() wrapper to enable testing to work in both Python2 and Python3.
Add xrange() and fix second() for Python3.
Disable Unicode tests for Python 3.

Closes #299.

Due to the mixed testing between Python 2 and 3 and different string
implementations, there's no easy way to test Unicode stuff.