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.