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