Handle enums as template arguments in the clang frontend

The gccxml frontend is broken on the now expanded unit tests.  I also
haven't yet checked if the cython backend supports this functionality.

libclang synced from https://github.com/xdress/clang/commit/9e77c125626db4b1504edffa055e0b4dbbc89715.
Add an integration test for enum template arguments

This currently fails with both frontends.
unit tests pass
almost there...
gccxml integration tests now work
clang: Enum template arguments should never show up as ints

Sometimes clang returns enum template arguments as the underlying
integer.  If this happens, we convert back to the name.

libclang synced from https://github.com/xdress/clang/commit/8ab7c572b32825fcb13e8d5fbaf54c496b3358fe.
Merge branch 'fix-enum-template-args' into clang

* fix-enum-template-args:
  clang: Enum template arguments should never show up as ints
  gccxml integration tests now work
  almost there...
  unit tests pass
  Add an integration test for enum template arguments
  Handle enums as template arguments in the clang frontend