time stamp log output

Clerk's logging feature helps when debugging certain issues. However, to
ease investigation of certain issues it might be helpful to have a time
stamp associated to each line of the log.
This change prepends a time stamp of the form 'hh:mm:ss' to each log
message (where 'hh' represents the current hour of the day, 'mm' the
current minute, and 'ss' the current second).
Rename sample-config.json to clerk-config.json

The default config name in clerk.
Thereby we don't get a warning when simply executing './clerk'
Later we probably want to have a config directory such as
~/.config/clerk
add support for HOME & END keys

Usually (i.e., in basically all command line [and even GUI based] programs),
the HOME/POS1 key moves the cursor to the beginning of the line and the END
key can be used to move the cursor to the end of current line. Such movements
are not yet supported by clerk.
This change adds code for setting the cursor to the appropriate position when
inputting text in clerk.
add support for HOME & END keys

Usually (i.e., in basically all command line [and even GUI based] programs),
the HOME/POS1 key moves the cursor to the beginning of the line and the END
key can be used to move the cursor to the end of current line. Such movements
are not yet supported by clerk.
This change adds code for setting the cursor to the appropriate position when
inputting text in clerk.
provide clrk_save handler for SIGUSR1 signal

When a clerk instance is running but the user has no access to it (e.g.,
because he/she is logged in remotely and clerk is running in a different
session), it might still be desireable to terminate this instance and
start a new one. However, until now the user had no chance to save any
changes he/she made in clerk beforehand.
This change introduces a signal handler for SIGUSR1 that can be used to
save the changes that were made previously.
add SIGTERM and SIGINT support

When clerk is killed by SIGTERM or SIGINT it performs no cleanup and exits the
hard way. State such as the cursor visibility or the current console colors
are not reset to their original values.
This change adds a handler for SIGTERM and SIGINT. Arguably, a handler for
SIGINT is not really required since Ctrl+C (the usual way to receive a SIGINT)
is already taken care of by termbox. However, since there might be other ways
to send this signal to clerk an exit handler is registered for it as well.