Fix blame and status to work from within directories starting with a dot

When running `tig blame ../io.h' or `tig status' inside the directory
`.dir', the command:

	git rev-parse --git-dir --is-inside-work-tree --show-cdup --show-prefix

will print:

	/tig/.git
	true
	../
	.dir/

This cause read_repo_info() to confuse the show-prefix option output was
the output of the show-cdup option.

Fixes #172 reported by Azat Khuzhin.
Enable tilde expansion in ~/.tigrc "source" commands

... as used in the examples of the 'SOURCE COMMAND' section of tigrc(5).
Thanks to Johann Visagie for reporting this and providing an initial
patch.

Fixes #168
Fix unicode_width for combining characters

Combining characters have an effective width of zero because they just
modify an adjacent character. The commit fixes tree indentation issues
when using those kinds of characters.

Fixes #170

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Fix regression when running tig with no arguments and custom encoding

Since c7d67ab running "tig" with no options has failed with the error
"tig: No revisions match the given arguments." This was due to a change
in how the arguments for the back-end git call was being constructed.
This change caused the blank field left in place of "%(encoding_arg)"
when it is empty to not overwrite "buf" which then caused the value in
"buf" to be copied into dst_argv twice. The resulting git command failed
if there was no available revision named "log" as shown in the trace.

From the TIG_TRACE log:
git log log --no-color --pretty=raw --parents --parents --
fatal: bad revision 'log'

This fix works by properly and fully initializing "buf" before each use.

Fixes #167

Signed-off-by: Drew Northup <n1xim.email@gmail.com>

Minor edits of commit message and change patch to use sizeof(buf).

Signed-off-by: Jonas Fonseca <fonseca@diku.dk>
Open editor at selected line also for multi-file diffs in the stage view

Refactor out diff_common_edit(), which extracts the diffed file path and
line numbers so it can be used for the case in stage_request() where
there's not a single file.