Better include handling, and minor refactoring

Major improvements:
- check subordinate inclusions within target headers, and re-order target headers so that any prerequisite headers within the target list are processed first.
- automatic handling of unnamed arguments. Some headers only specify types in the function signature, which is perfectly legal but previously lead to syntax errors because no argument name was printed. fd75c08

Refactoring:
- use single `rewriter`  callback rather than separate callbacks for functions and types. a6cf707
- cleaner handling of output files. 94a0044

cindex update:
- support `clang_getIncludedFile`, which had previously been skipped