Work around a VC11 optimizer bug.

It looks like VC11's optimizer does something wrong with the dtor of
the scoped std::string. So use lua_pushfstring() instead. It's faster
and more readable anyway.
Fix weak_ref bug.

See http://lua.2524044.n2.nabble.com/weak-ref-issue-patch-td7581558.html for an
explanation and a patch for an older luabind version, which I have just adapted.

Quote:
> This prevents the same id from being used by two weak_refs at the same time,
> which previously could result in the Lua portion of a wrap_base derived class
> from being lost or aliased by another object.
Improve CMake scripts.

- Add install support.
- Add and use FindLua52.cmake instead of hardcoded custom paths.
- Provide FindLuabind.cmake
Git: Ignore build directory.