Avoids doing two global MPI reduce ops in P2Function::getMaxMagnitude()
The initial implementation of P2Function::getMaxMagnitude() performs two global MPI reduce operations. One in VertexDoFFunction::getMaxMagnitude() and the second one in EdgeDoFFunction::getMaxMagnitude(). This commits adds to each of the above functions a second option parameter bool mpiReduce, which defaults to true. P2Function::getMaxMagnitude() invokes them with false and performs the global reduce itself. We probably should do the same with P2Function::dot()?