Portability fix: some std libraries require that tuple constructors specify all the elements
Forgot to remove uneeded struct
Removed compressed_pair from caller.
As far as I can tell, CallPolicies are always stateless, so the compressed_pair is not needed.
Removed boost::mpl and boost::type_traits from default_call_policies