Use the same git command everywhere.

The `GitRepository` and `GitCommand` classes were using different git binaries
when the `--git` option was used. This could cause minor inconsistencies,
for example `hub` commands worked but could not be tab completed.

Fixing this revealed a potential bug in the `History` class, when a
non-numeric `gitsh.historySize` setting was used, so that's fixed too.