Depend on the cffi package

Let both pip and Travis know what we need.
Fix installation-time cffi compilation

The documentation recommends adding the ffi code as an extension so it
gets built at the right time.

Make use of the LIBGIT2 environment variable to build and link the ffi
module the same way the C extension does so the user doesn't have to
export CFLAGS.