[libclang] Fix an indentation typo
NO TESTS YET: [libclang] Add clang_visitSpecializations
NO TESTS: [libclang] Add checks for default constructors and destructors
NO TESTS: [libclang] Treat functions in clang_visitSpecializations
NO TESTS: [libclang] Add clang_visitChildrenFlags

clang_visitChildrenFlags extends clang_visitChildren with an extra flags
argument controlling visitation.  For now, the only flag is

    CXChildVisitFlag_VisitAllSpecBodies

which causes the bodies of implicit specializations to be traversed.
NO TESTS: [libclang] Avoid asserts in clang_Cursor_getDefaultArgument

ParmVarDecl::getDefaultArg asserts that the default is parsed and
instantiated if it exists, so we need to duplicate its logic.
NO TESTS: [libclang/python]: Wrap clang_getSpecializedCursorTemplate
[libclang/python] Make Cursors hashable