build: Require C++11 support to compile Tartan

And use an AC_DEFINE to expose whether LLVM ≥ 3.5 is available, since it
broke plugin API compared to 3.4.
plugin: Update diagnostic ID API calls to LLVM 3.5
plugin: Update Clang attribute API to LLVM 3.5

The attribute constructors now take a non-optional argument specifying
the spelling of the attribute name.
plugin: Update Clang types API to support LLVM 3.5

The API renamed ‘result’ to ‘return’ and ‘argument’ to ‘parameter’.
type-manager: Update type iteration API to support LLVM 3.5
plugin: Update plugin registration API to support LLVM 3.5
tests: Update non-null warning messages to support LLVM 3.5

The wording of the non-null warning messages changed between LLVM 3.4
and LLVM 3.5, so the tests were all arbitrarily failing.

This change makes them work on LLVM 3.5 at the expense of failing on
LLVM 3.4. There’s no satisfactory way to improve this, short of
duplicating the test files and having one copy for 3.4 and one for 3.5.
gerror: UNFINISHED work to add a GError checker
temp
temp 2
temp
more tests
another failed approach using the inbuilt NULL checking
more temp
even more temp
more progress!
add llvm 3.5 support to GError plugin

This effectively adds a hard dependency on LLVM 3.5, since no effort has
been made to support 3.4.