Add 'remote_dest' argument to the assemble module

Taking parts from the combine module and moving them into assemble to
reduce duplication. 'remote_dest' will only have an effect if both
itself and 'remote_src' are both set to False.