templatize timedelta arith ops
Some Timedelta operations are constructed using `_binary_op_method_timedeltalike`, while a bunch of others re-implement shared logic.  This PR is an attempt to get rid of the small differences in this shared logic so they can eventually use a single template.
