Fix communication for buffers with 2M+ elements
The communication buffer calls used integers for sizes, which caused bugs at least in the code to broadcast topologies when they are over 2GB in size (roughly 38M atoms in double prec.). To avoid future silent errors, the arguments have been changed to size_t and we iterate over many MPI calls until all data has been broadcast.
Refs #4628 (closed).