Ensure that tests reads tigrc from the default location
Extend tigrc parse test to check parsed bindings via the help view
Add test for TIGRC_USER and TIGRC_SYSTEM env variables

This also fixes a segfault when TERM=dumb due to built-in line rules not
being properly initialized.
Document the test framework and improve the test output

This adds the possibility to configure tests via TEST_OPTS env variable
which is used to control the indentation depending on whether showing
verbose output or not.
blame: treat HEAD as the parent of not-committed-yet

When blaming a file with uncommitted changes, it is annoying that it is
not possible to jump to the HEAD version from an uncommitted line.  It
turns out that the commit already has HEAD as its parent, so we simply
need to relax the check in check_blame_commit() to allow the parent
request to make it to blame_go_forward().

Signed-off-by: John Keeping <john@keeping.me.uk>
Merge pull request #295 from johnkeeping/blame-head-parent-of-not-committed

blame: treat HEAD as the parent of not-committed-yet
Use string_ncopy when copying ref names

Change code that updates the internal env/state variables to use
string_ncopy instead of string_copy_rev, since the latter copies atmost
40 characters. Test that both branches and tags with long names can be
succesfully checked out.

Fixes #290