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.