Add a dereference method to Rugged::Reference to dereference refs to tags
Use rugged_str_new2 rather than rb_str_new2
Add a new (cheating) clone API, and use it in tests.
move the cheater clone_at to c.
Clone with libgit2.

*   change back to `git clone` for test repo setup, because I
    can't figure out how to make libgit2
    (a) create refs/remotes/origin/HEAD (`git clone` does), or
    (b) clone everything, even orphaned commits (needed by the reset
    tests).
bare clone
refactor
Report progress.
hack demo that clone doesn't spin down cleanly.
Less-hacky demo of the "left git_clone hanging" problem.
Add a type for the callback payload.

This will let me catch an exception and re-raise it later.
Handle exceptions from the progress callback.
Make sure the clone looks pretty normal.
Free the git object and better length handling
Rename Rugged::Reference#dereference to Rugged::Reference#peel
Core git allows empty emails and now we do too

//cc @vmg
bump libgit2 to 54e489
scrub scrub scrub.
Simpler initialization.
bump libgit2 to 12f831