Generalizing Copy to optionally support shallow copies, AlignWith to support mismatched distributions (for the purpose of avoiding unnecessary communication when distributing to/from an AbstractDistMatrix), and beginning to generalize a few more routines to AbstractDistMatrix using the improved Copy