Preliminary support for non-variadic template implementation of abc::_scope_trace

Move the implementation of abc::_scope_trace<> into a separate class,
abc::_scope_trace_impl, so that the same code can be shared by the
variadic and the non-variadic implementations of abc::_scope_trace.