call_function: Fix with destructor default noexcept.

The call_function<R>() functions return a proxy object to allow applying
policies and do the actual call in the destructor if no policies were applied
and the return value was not used. Thus, the destructors might throw
luabind::error exceptions and need to be marked as noexcept(false).

This caused test_free_functions and test_lua_classes to fail with
std::terminate().

Cherry-picked from 81bdcb72aa6ef7b321e59416b77be65c3944d6a9 at
https://github.com/Oberon00/luabind