cindex.py: Avoid deprecated function

Implement Diagnostic::category_name() using clang_getDiagnosticCategoryText()
instead of the deprected clang_getDiagnosticCategoryName().

Preserves existing behaviour and API covered by existing tests.
Switch NULL to C++11 nullptr in source/Symbol and source/Utility

Patch by Robert Matusewicz
Fix redefinition of default argument, found by modules build.  It's not
entirely clear whether this should be valid with modules enabled, but the fixed
code is cleaner regardless.

Also fix a TU-local type that accidentally had external linkage.
[C++11] Range-based loop simplification.
[Mips] Add more special values for the st_other field in the symbol
table entry for MIPS.
What year is it! This file has no reason to be written in C, and has doubly no
reason to expose a global symbol 'decodeInstruction' nor to pollute the global
scope with a bunch of external linkage entities (some of which conflict with
others elsewhere in LLVM).

This is just the initial transition to C++; more cleanups to follow.
Maybe if I touch this file the buildbots will actually rerun configure like they need to...
Don't define llvm::X86Disassembler::InstructionSpecifier in different ways in
different source files.
Don't provide two different definitions of ModRMDecision, OpcodeDecision, and ContextDecision in different source files (depending on #define magic).
Remove some more C junk from these files.
More C++ification.
C++ has a bool type! (And C's had one too, for 15 years...)
Use unique_ptr to handle ownership of synthesized args in DerivedArgList

This might be able to be simplified further by using Arg as a value type
in a linked list (to maintain pointer validity), but here's something
simple to start with.
Remove comment that hasn't been true for 5 years
Add missing #include found by modules build.
Protect the ArgList dtor

It could even be made non-virtual if it weren't for bad compiler
warnings.

This demonstrates that ArgList objects aren't destroyed polymorphically
and possibly that they aren't even used polymorphically. If that's the
case, it might be possible to refactor the two ArgList types more
separately and simplify the Arg ownership model. *continues
experimenting*
Fix a comment typo.
ARM64: Do not expand variadic HFA/HVA arguments with the Darwin ABI.

Unlike the standard AAPCS64 ABI, variadic arguments are always passed on the
stack with the Darwin ABI, and this was not being considered when deciding
whether to expand HFA/HVA arguments in a call. An HFA argument with a "float"
base type was being expanded into separate "float" arguments, each of which
was then extended to a double, resulting in a serious mismatch from what is
expected by the va_arg implementation. <rdar://problem/15777067>
[LCG] Add some basic debug output to the LCG pass.
Added a basic connection test for lldb-gdbserver.

The lldb-gdbserver tests are skipped if the lldb-gdbserver exe cannot be found (currently only built for Linux and FreeBSD).  The lldb-gdbserver exe is found by the LLDB_EXEC environment variable, using the same dir as the lldb exe, and then replacing lldb with lldb-gdbserver.