tree: Return "commit" as tree entry type
Use CMake when building the vendored libgit2.
Link to all libgit2 dependencies.
Specify -fPIC when we build the static lib.
Bring back support for building rugged without CMake.

But we're now printing out warnings, so people will know that Rugged
built without CMake does not correctly support some features.
Make sure that the libgit2 version we build is threadsafe.

This is especially interesting on Rubinius, where rugged/libgit2 code
can actually be executed in different threads concurrently.
Bundle files needed for building libgit2 with CMake.
Make sure we keep license files of dependencies in the bundled libgit2.
Building through CMake depends on libgit2.pc.in.
Why didn't we have a gem task before?