Relocate is_a_function_wrapper to a more appropriate location, also update visibility of internal types to be HIDDEN
Increase range of member function CV qualification that can be handled; used macros to reduce the SLOC