Add Cartcomm communicator and Comm.Create_cart method in fake_mpi module.
Allow proxy operators to have different shapes. Improve __str__.
Morph MPIDistributionIdentityOperator into IdentityOperator is comm size is 1.
Allow proxies to access operator attributes.
Remove unnecessary flags, since they are inherited.
Ensure flags are preserved in the the composition of operators with identity operator.
Reduction rules with ZeroOperator should return a fresh ZeroOperator. Improved testing.