[remove] ignore 'src' and 'include'
Better installation flow for developing.
Compare generated JSON to the original descriptor.

A bunch of experimental files to test out the concepts of generating the
descriptor file instead of manually updating an outdated static copy.

File breakdown:

  compare.json (Will be renamed in the future)

    - The generated file that I'm comparing to new.json.

  new.json (Will be deleted in the future)

    - Reference of the v0.18.0.json file.  Should not be named new.json.

  descriptor.json (Developer maintained)

    - Inform decisions to the descriptor generation.

  t.js

    - An aptly named script that runs to generate the compare.json file.
      It's going to be way smarter and named something not experimental
      once I've figured out a spec.

  types.json

    - Maps functions/classes/structs/types/etc. to JS, C, C++, and
      Emscripten (in the future).
Updated binding to match how git-utils handles libgit2.
Remove documentation on CMake.
Automate the building of all libgit2 types.
Library changes.
Removed all generated C++.
Automate dependencies.
Generating more types and safe identifiers.
Copied changes from Emscripten branch.

That are also relevant to this branch.
Added more types.
Lots of updates, most tests passing.

I've been able to get most of the tests passing, just a handful left.
There is a little manual intervention needed for most methods to get
them to compile correctly.

I'd love help on:

- Getting more methods compiled and tested!
- Code reviews.
- Testing the code!
Merge remote-tracking branch 'origin/descriptor-refactor' into descriptor-refactor