Refactor Copy Trans to be more testable.

Correct a previously inserted bug where translations from obsolete documents where not being reused.
Refactor Copy trans to be more functional and thus testable.
Add some tests to test these discrete pieces.