Rugged/Grit push conversion

Converted the Repository#push method to use Rugged and Grit for the git
operations.

The Repository test was also updated to use Mocha to stub push failures
instead of trying to arrange the repository such that it fails. This
should be more reliable.