merge: separated element-to-element functionality

tagOpposites was moved to a separate file so
that an element-to-element connectivity array
function could be implemented as well.
along the way, getOtherCopy now returns an
apf::Copy instead of a std::pair.
Some other bits of cleanup to zoltan code...