Add option to customize sleep time after a change

A new option -s N now customizes the sleep time after detecting a change to N
seconds (the parameter is directly passed into `sleep`.
Closes #7.
Add some more inotify events as mentioned in #13
Add option to customize the timestamp format

Add a new -d switch with which to customize the format of the timestamp inserted
into the commit message.
This prepares commit message customization as mentioned in #8.
Change option letter for push, expand help message

Change the option letter for auto-pushing after a commit from -p (for 'push') to
-r (for 'remote') since I think that makes a bit more sense.
Expand the help on auto-pushing.
Change construction method for commit message

Instead of having a fixed structure of PREPEND+DATE+APPEND for the commit
message, we now use a single commit message template string, in which the
placeholder %d will be replaced by the formatted date and time (if any).
This is further preparation for implementing a customizable commit message
as requested in #8.
Add option to customize commit message

The commit message used by gitwatch can now be customized without having to
touch the code of the script. The new -m switch can be used for this, followed
by the commit message "template"; upon commit, all occurences of %d in that
templace string will be replaced by the formatted date/time (see also the -d
switch).
Closes #8.
Fix -b switch to affect used remote branch

Due to the usage of the branch argument (customizable by the -b switch) in the
push command, the <branch> argument previously would push from the so-named
local branch. Since all commits happen on the currently active branch (if any),
that doesn't make much sense, since any branch other than the checked-out one
will probably not get any changes. The effect of the -b switch is thus changed
to the following:
If a branch is checked out (repo is not in a detached HEAD state), the push
command used is `git push <branch> <current branch>:<branch>`, pushing from the
currently checked-out branch to the named remote branch.
If no branch is checked out (repo is in detached HEAD state), the push command
used is `git push <remote> <branch>` (this is in fact unchanged from before).

Closes #15.
Improve formatting of commit msg
Replace literal git/inw calls with vars
Move echo'ing of errors to function
Construct push command only once

Move checking and construction of push command out of main loop so construction
is only done once (push command does not change during script execution.
Add help about env vars for binaries