Eliminate sleep from full sync integration test

This might speed the tests up by only waiting the necessary amount of
time, but more critically it should make the test more accurate and
avoid intermittent failures related to timing.

Several wait_for_* methods have been added to the test helper to check
for files, directories or for a clean working directory.
wip Rugged/Grit push conversion

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