Add debug_cursors hook

Saves the last cursor if a `wrap` call throws an error
Use single rewriter callback
Formatting
Add warning for skipped functions
Fix duplicate cursor ambiguity
Add support for clang_getIncludedFile
Better support for includes

Sort all InclusionDirectives in the headers, and re-order the requested includes so that any prerequisites are wrapped first
Clean up output handling
Restore cache_wrapped tracking
Style/naming/comments
name_safe/symbol_safe: accept string rather than Cursor
Handle unnamed arguments
Fix errors

throw->rethrow in debug cursor block
close output file handles
Don't skip empty struct fields

This shouldn't be necessary with proper resolution at point of use
Doc updates
Merge pull request #88 from ihnorton/refactor

Better include handling, and minor refactoring