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.
first cut at global rc files
forgot rc._update(rcdict)
Merge branch 'scopatz/glbrc' into master

* scopatz/glbrc:
  forgot rc._update(rcdict)
  first cut at global rc files
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.