Tpetra: Make BlockMultiVector implement the "new" DistObject interface
*Created by: mhoemmen* @trilinos/tpetra ## Current Behavior `Tpetra::BlockMultiVector` currently implements the "old" DistObject interface (copyAndPermute, packAndPrepare, unpackAndCombine) instead of the "new" DistObject interface (copyAndPermuteNew, packAndPrepareNew, unpackAndCombineNew). ## Motivation and Context This blocks deprecation and removal of the "old" DistObject interface. ## Definition of Done - [ ] Implement copyAndPermuteNew, packAndPrepareNew, and unpackAndCombineNew - [ ] Implement useNewInterface and have it return true - [ ] Make sure all the tests pass ## Possible Solution The "new" DistObject interface permits a host-only implementation, which is what BlockMultiVector currently has. This should be a mechanical change. ## Related Issues * Blocks https://github.com/trilinos/Trilinos/issues/4853
issue