Created by: chuckatkins
This supersedes #1326 and fixes #1348 (closed). The implementation is meant to address several issues:
This very purposely does not change the API, aggregation algorithm, or any of the MPI calls made. It only fixes an existing bug and explicitly disallows a pattern that wasn't used anyways by the current implementation.