[bugfix] Set ModelP when creating the list of macros to undefine

Otherwise, some UG macros only used with parallel UG are missed.
That in turn causes failure to compile the parallel UGGrid.
The mechanism that includes most UG headers twice to allow for
2d and 3d grids together is a little fragile.
Prevent second inclusion of the ppif.h header

ppif.h contains only dimension-independent stuff.  Therefore it needs
to be included only once.