Rewrite deduce_signature using Boost.FunctionTypes.
Use enable_if to keep tag_function working.

Also add signature_aux helper class template which will be used to simplify
the implementation of tag_function somewhat and to introduce support for
boost::function and std::function.
Add support for boost::function and std::function.
Simplify tag_function.
Remove ellipsis from consumed_args().
Fixup boost::function support.
Improve object's operator<<.

It now uses luaL_tolstring instead of plain lua_tostring. This means that it
might set the fail bit of it's stream if a __tostring metamethod fails. In this
case, there is no way to get the error message.
Fix recognition of const std::/boost::functions.
Add function_converter.

You can now be assign functions to objects and return them from and pass them
to C++ functions if you #include <luabind/function_converter.hpp> -- basically
you should be able to handle functions like ints except that you can only get
functions (back) to C++ from Lua as std::function or boost::function.
Add lua_absindex 5.1 compatibility function.

Currently not used.
Add public APIs for direct Lua stack access.
Fix missing include in test_intrusive_ptr.cpp.
Do not use __noreturn__ with Clang.