Prevent blank lines from causing a parse error.

This was an issue as most commands currently can be preceded by
spaces, but there was no rule to support spaces alone.

The behaviour of a blank line is now identical to that of an empty
line; by default the `git status` command, overridden by
gitsh.defaultCommand
Wrap the binary in C.

This will allow us to use gitsh as a sh-bang line, and hopefully to set the
process name correctly. The C code has deliberately been kept as simple as
possible; the intention is to keep the majority of the functionality in
Ruby.
Started to implement parsing of relative shell commands

Made a basic feature test to help drive development
Then wrote a unit test which is wip
and added specific rules for parsing shell commands
The issue now is how to remove new lines from my shell commands
and how do I test executing a relative shell command?
updated shell_identifier to use forward_slash rule
removed redundant comma