series: more work on the initial implementation of the new binary add operator.

* enable perfect forwarding for the arguments,
* optimise the case in which one series is much larger than the other,
* beautify the prototype,
* introduce and use a new merge_arguments() function, like merge_args() (which it will eventually replace) but returning Derived (instead of series).