enabling user shrink and expand mds partition

Two new API functions allow users to multiply
or divide all part ids within MDS by an integer.
This should be necessary for Parma_ShrinkPartition.
moved the partition shrink code to its own lib

Because the part id remapping is MDS-specific,
the choice was either make parma depend on mds
or move it to its own lib.
Right now this looks like the better option.
fixed leftover typo in new cmakelists
PCU function to get the current MPI_Comm

This function will store and retrieve
whatever Comm PCU is running off at the moment.
Again, needed for the partition shrink thing.
using PCU_Get_Comm instead of MPI_COMM_WORLD

This lets the zoltan balancer run right after
PCU_Swith_Comm gets called.
fixed up the partition shrink code

fixed a bad return type, added message
to assure users that empty parts are ok
in this case.