Introduce methods for accessing dynamic arguments

Change the way arguments for diff context, commit order and ignore space
are handled. Instead of using a static buffer they are now generated on
the fly when constructing the argument arrays.
Add method accessor for --show-notes argument
Always handle options linked to git arguments

This ensures that options that can also be set via the command line are
always handled by set_option to void those options are reported as
unknown.

Fixes #250
Add travis support, remove failed test
Disable graph rendering for -G and --grep=

This cleans up parsing of the command line arguments and adds `-G` and
`--grep=` to the list of arguments that automatically disables graph
rendering.

Fixes #251
Remove end parameter from utf8_char_length
Introduce struct key_input
Add multibyte support to struct key_input

Fixes #99
Closes #105
Add quiet make mode

This simplifies the default build output to only print the tool and the
target file. Use `make V=1` for the full build output.
Merge pull request #252 from dmalikov/travis-support

Travis support
Add docbook-utils to the list of required packages for travis
Travis tests: minor reorganization.