Open branch 'clangtypes'
This branch will refactor Autobind to work on Clang types directly, rather
than converting the data to strings first.

--HG--
branch : clangtypes
Create tuple unpack code generator.

--HG--
branch : clangtypes
Create code generator for user function calls.

--HG--
branch : clangtypes
Use new Func class for generating bindings for functions.

--HG--
branch : clangtypes
Fix Bootstrap attribution.

--HG--
branch : clangtypes
Put extra client headers under autobind/.

--HG--
branch : clangtypes
rename : include/optional.hpp => include/autobind/optional.hpp
Start implementing method codegen using Clang types.

--HG--
branch : clangtypes
Start implementing class codegen using Clang types.

--HG--
branch : clangtypes
Fix incorrect (non-compiling) code generation for non-member functions.

--HG--
branch : clangtypes
Generate simple classes directly.

--HG--
branch : clangtypes
Implement accessors using new code generator.

--HG--
branch : clangtypes
Create test suite.

--HG--
branch : clangtypes
Remove old code generators.

--HG--
branch : clangtypes
Report accessor errors (such as wrong number of parameters) using Clang diagnostics.

--HG--
branch : clangtypes
Add a test for function overloading.

--HG--
branch : clangtypes
Fix constness on ObjectRef::operator== and improve doc comments for TupleUnpacker.

--HG--
branch : clangtypes
Add methods to Stream, making its use less verbose.

--HG--
branch : clangtypes
Implement constructor overloading.

--HG--
branch : clangtypes
Begin unifying class exports.

--HG--
branch : clangtypes
Make getters/setters class exports.

--HG--
branch : clangtypes