feature - temporarily retreat to subset of cores

This merge brings in functionality to temporarily
run all operations on (1/factor) of the current
processes.

The mesh is migrated to and then split away from
this chosen subset.

The reason is to use this in Albany to
reconcile the solver's hunger for cores with
MeshAdapt's dislike of being spread too thin.