NativePool

After calling any libclang method which transfers ownership of the
returned object to the caller, NativePool.record() is called to record
the object which will be disposed later.

Client code should call disposeAll() on a Clang instance to destroy
every object created by Clang
Fork All Tests for more stable behavior
CXIndexAction instead of a plain Pointer