Remove unused header detail/calc_arity.hpp.
Reorder includes.

First internal includes, then 3rd party libraries (luabind/lua_include.hpp and
boost), then standard library. Each section internally sorted alphabetically.

This required adding some includes in the luabind/detail headers.
Remove more unused internal headers.
Use lua_pushliteral() where possible.

Also replace one occurence of lua_pushstring() where a std::string was pushed
with lua_pushlstring().
Only use string comparison for type_id when necessary.

See a83af3c69a3cd6da5ba21ea5062205fa664e59d2 "Fix use of Luabind classes across
shared library boundary." The commit notes already contain links to
descriptions and even code snippets, describing when this is necessary. This
patch basically copies the #if from boost.
test_scope: Test unnamed classes.

Also test that creating a module inside a table really does not create a global
(although it is technically impossible without a string name).
Build: Do not request C++11 w/o compiler support.

Also let the user set LUABIND_NO_CXX11 to not use C++11 in any case.

Also add a comment to Clang stating that LUABIND_NO_CXX11 *must* be set for
Clang versions without support for the -std=c++11 flag because no version
detection takes place at the moment.
Fix Clang build.
Fix Clang's warnings.

Clang complains about every shadowed variable, so I simply ignored -Wshadow
with this compiler.

I also ignored -Wpadded (for obvious reasons) but not without reordering some
member variables (largest to smallest) to reduce padding in some cases
(I actually haven't confirmed that this did help anything but it should save
a few bytes).

-Wglobal-constructors and -Wexit-time-destructors are hard to fix, so I ignored
them too.

-Wundef was deactived because it complained to much about
'#if !BOOST_PP_IS_ITERATING'.

-Wno-weak-vtables is unfixable with class templates.

However, -Wunused-(member)-function was a quite useful warning, considerably
shortening some tests.

Also fixed some other warnings.