Add MINPV processing to GridManager

This adds a new class MinpvProcessor, and a new constructor for the GridManager class that uses it to support the MINPV feature: ensuring that cells have a certain minimum pore volume while connecting the remainder cells (not creating barriers).

A unit test has been created for the new class. Apart from that, the feature has not been tested yet.

I am opening this for discussion, but do not merge yet (documenting the new class).
Why the `const_cast<>`?