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.