Fix line number reporting for configuration errors

Move tracking of line numbers into the IO layer instead of in the option
parsing code so that commands spanning multiple lines will not offset
the reported line numbers.
Make file-backed blob views refreshable
Mark the help view as refreshable
Automatically close empty stage views after refreshing
Improve error message for unsupported key combos

This makes the error message more understandable in the context of
upgrading from tig-1.x.
Add refresh-mode to only update after returning from a command

This adds support for this mode that was discussed in #190 and which is
similar to how refreshing was previous done.
Improve auto-refreshing of views to use various update info

This adds hooks in different parts of the update code which acts as
sources for watching for state changes in the views. As an example
index changes are now tracked in more detail and diffed to improve
updating of the stage, main, and status views.

It also registers watches for HEAD and references in the main and refs
view so that both views are refreshed after for example a branch is
deleted.
Don't complete any settings in the section column

It is only supposed to be used internally.
Change default keybindings

This implements part of issue #257 to ensure that Tig has a more
consistent default set of keybindings.

 - Lower-case keys are used primarily for view switching; and should
   always be non-destructive.
 - Upper-case keys are used for view-specific actions including
   user-defined commands.

Fixes #257
Show key mappings in the help view using the new syntax
Update NEWS for release