[C++11] introduce new macros to more easily use the auto->decltype syntax. Use it, and remove a lot of uses of result_of and dispatch_call.