Clearify that Tig always uses author date

This changes two 'commit date' to 'author date'.

References #294
Fix spurious failure in main/default-test

Calling `:set vertical-split = no` will cause a reload so move the
setting from the steps to the tigrc.
Fix readline support

The watch code introduced a bug where stdin was marked with nodelay()
when reading multibyte key input. This changed get_input() to use
wtimeout() instead of nodelay(). Unfortunately, as a defensive measure
an extra nodelay() was added before the loop that reads the remaining
multibyte stream, which in turn broke readline support.
Allow scripts to go through the readline backend

As a stop gap measure, the readline backend was by-passed during script
execution. This changes the prompt code to allow scripts to interact
with the readline code by decoding the symbolic keys and serving them to
readline as bytes.

Since the script executing is mainly targeting towards the test suite
this will make it possible to test the readline backend. However, it
does cause script behavior to act differently based on whether readline
is supported or not.
Fix '/' to redo previous search when readline support is enabled

The readline version of read_prompt() did not act the same way as the
non-readline version. Add check to ensure that NULL is returned instead
of the empty string.

Fixes #302
Fix readline prompt to correctly handle UTF-8 characters
Make blame ID colors predictable across reloads

Change draw_id() to use a hash function to generate a color index based
on the ID characters so that the same commit ID is always assigned the
same color across reloads. Previously the memory location of the commit
struct's ID member was used to derive the color index.

To further improve the ID coloring, increase the palette to 14 colors by
adding "boldified" versions of the base ASCII colors.