Adds copy() support to homogeneous family

This PR takes the copy() ideas and applies them to the homogeneous package.

Although the size of the arrays involved in this package is tiny, we tend to generate a lot of these transforms and compose them together. Much as deepcopy-ing was really slowing us down in landmarks the same is true here, so in my mind it's worth doing the work.