Run integration specs in a temporary home dir.

This wraps the contents of the `#run_interactive` method in a call to
`#with_a_temporary_home_directory`.

In order to make this change simpler, we refactored the `#run_interactive`
method first, breaking it up into smaller parts.
Add the gitsh.gitCommand git-config option

This option is used to specify what command gitsh should use to execute git
commands. When this option is specified using git-config it is overridden by
the command passed using the --git command line option when starting gitsh. The
gitsh.gitCommand variable can also be overridden inside a gitsh session by
using the :set command.

Fixes #111
Add documentation for the gitsh.gitCommand option
Fix style guide violations
Put the dot on the first line
Fix typos
Test git interaction inside a temporary home dir
Please hound