Update cudaHaloExchange to work with multiple devices & MPI successfully.
Fixes an oops where turning peer memory access on/off twice will cause an 'error'.
Implements the Batten et al wavespeed picker for the HLLC step; Previous selection of wavespeed was slightly incorrect as well.