Preliminary support for non-variadic template implementation of abc::ostream::print()

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