new: Partition, MetricPartition

and extract methods of PropPreservingPartition to them