git-isvn(1): Start porting from git to libgit2.

It builds! Ship it.

Minor details:

- Build git-isvn(1)/git(1) with -fvisibility=hidden so libgit2 doesn't
  try and call main binary symbols of the same name that don't do what
  it expects
- Checkout (post-clone) is mostly ported over to libgit2. Some details
  missing.
- Transition APIs: Compatible with internal APIs, #define'd out to
  different names. Will "fix" APIs after seperation (hashmap). "Good
  enough" replacement hashmap implementation in.