Add gitconfig to temporary home directory.

Builds have been failing on Travis CI because of the temporary home
directory: there was no gitconfig, and therefore no user.name or user.email
settings, which prevent commits from being created under some Git versions.
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.
Version bump: 0.6
Arch package for version 0.6
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
Test git interaction inside a temporary home dir
--version prints what readline lib gitsh is using
Open tempfile in write mode

Fixes #148
Run test suite on Travis using ruby 2.1.1
Update CONTRIBUTING.md
Create vendor/gems if it doesn't exist

I was having an issue when migrating this code over to Liftoff where if
vendor/gems didn't exist, the entire vendorizing script didn't run. By
testing that the directory exists and creating it if not, these errors
stop happening.
WIP: extract interactive runner
WIP: Continue extracting interactive runner
Tidy up after extraction.
Improve CLI tests
Move arguments from CLI to Runner
Move final parameter to Runner
Rename run_interactive to run method.
Fix indentation.
Remove redundant whitespace.