Add submodule tests
blame: fix invocation of diff for line tracking

The argument to `git diff` is spelled "--no-ext-diff" not
"--no-extdiff".  This allows line tracking to work instead of causing
`git diff` to spit out its usage on stderr.

Signed-off-by: John Keeping <john@keeping.me.uk>
completion: don't use _tigcomp for filenames in blame

_tigcomp() unconditionally appends a space to each completion result,
which breaks completion when trying to complete a path with a directory
component by forcing the user to go back one character after each
directory is completed.  Additionally, only one level of tree is printed
so completion within directories only works thanks to readline's default
completion.

Change this to handle the completion of filenames within the script so
that we can append a space or slash as appropriate for files and
directories and complete within subdirectories be detecting the prefix
to use with `git ls-tree`.

Signed-off-by: John Keeping <john@keeping.me.uk>