run triangle only on master process and support genMesh=False for PSLG domains

This should work in serial and parallel, with genMesh=True or False. It changes the parallel behavior to only run triangle on comm.isMaster and generate triangle mesh files form that, then read them on all other processes. If genMesh=False it reads them on all processes so they must have been generated  in prior step.