Replace 'is' and 'is not' with '==' and '!='
Add LinkageKind class

This helps us remove direct access to libclang from "upper" levels.
Remove use of temporary file when parsing macro
Add libclang Python binding

This binding does not depend on the one maintained by Clang, and is
generated by cbind.  It is then massaged into a interface compatible
with Clang's binding.  So cbind may switch between the two binding
implementations.