Remote refcount fix

Fix the refcounts in remotes (issue #403) by setting the callbacks just before fetch, and resetting to defaults after.  I *think* I got it right, but I'm not super-familiar with cffi so let me know if I did something stupid.

I also added a few tests to look for refcount leaks after accessing various properties.
There's no need for this line. You're already setting the version above with the init function. If the version does increase, this would cause libgit2 to consider the struct to have a different layout.