Changed the vtable::invoker_placeholder_type type/signature to be a function_buffer (instead of a function_buffer_holder) member function. This allowed for simpler/more readable BOOST_FUNCTION_FUNCTION::invoke() member function overloads and is legal as unions are allowed to have member functions by the standard.
Fixed the BOOST_FUNCTION_FUNCTION::vtable_for_functor<>() member function overloads to no longer use SFINAE and to disallow incorrect assignement and/or construction from objects of boost::function<> instances with different signatures (this now correctly causes a compile-time error).
Updated related comments.
Minor other stylistic changes.