The clang frontend passes its first unit test

Unfortunately, none of the integration tests pass now due to
int32 to intc changes.

Due to deficiencies in the clang C and Python bindings, xdress
required a modified version of libclang:

    https://github.com/girving/clang/tree/xdress

In order to make xdress usable with stock clang installs (at least
those with clang 3.3 or later), we may want to factor our modified
version out into a separate repository.
typesystem.py: Fix a typo
Lots of work on the clang frontend

Unit tests cover a lot more functionality, but clang still fails the
integration tests (possibly due to discovering more functionality during
autoall than gccxml which triggers clang-unrelated bugs).

This code requires the following patched version of clang to function:

    https://github.com/girving/clang/tree/xdress
    https://github.com/girving/clang/commits/e54e651a4f068
Merge branch 'master' into clang
fixed undefines variable name bug
Fixed STL containers module name being set bug
Merge branch 'master' into clang

* master: (21 commits)
  fix generation of templated, inheritated cppclass
  change desc['name'] to desc['name']['tarname']
  Added map dtype scalar converter
  fixed a couple of unit tests
  Added tests for int-set
  now have dtype <-> class conversion for sets
  (vector, (set, int)) now compiles as dtype
  some doc updates
  moved some stuff to dtypes
  fixed extra dtype resistration error in the event of no dtypes needed
  fixed some dtype testing errors
  some test updates
  xdress runs, C++ does not test, C does not compile
  ripped dtypes out of stlwrap
  initial cut of dtypes
  updated type system
  Some plugin wiring setup
  initial dtype break away
  Fixed STL containers module name being set bug
  Passes tests with suggestion from scopatz
  ...
tests/tools.py: Need to import pformat
Teach clang to use the first available function argument name

The clang frontend now grabs function argument names wherever it can.
If two declarations have different names, the first one has priority.
Merge branch 'master' into clang

* master:
  forgot rc._update(rcdict)
  first cut at global rc files
Factor globalrc parsing into utils.parse_global_rc

This allows us to parse global .xdressrc files from unit tests,
which is required for broken clang installs.
Read clang_includes out of global .xdressrc

This avoids the need to hack clang_parse for broken clang setups.  The
unfortunate developer can now set 'clang_includes' in .xdressrc instead.
Make cythongen work even if argument names are missing
Correctly skip clang tests if we lack clang
Make clang_describe treat ./file.cpp the same as file.cpp

Previously if onlyin contained 'file.cpp', we would skip it since clang
reports the path as './file.cpp'.  This fixes detection of function
argument names in the integration tests.

To make sure this is detected in future, the integration tests now
verify that func1 has the keyword arguments, and that they work in any
order.
Make clang handle boolean default arguments

Fix by Kevin Tew <tew@byu.edu>.
Fixes clang autodescribe to support boolean template arguments and literal string function default arguments
Clean up clang expression parsing using ast.literal_eval
can now reproducibly fail the first test
fixed first build issue