Adding missing legion_impl.h and beginnings of the new generalized copy routine