added elementBoundaryMaterialTypes for regular grids

Wanted to make it easier to switch to a regular grid with boundary conditions set based  on tags (left, right, top, bottom, etc.). I added boundaryTags dicts to Domain.RectangularDomain and added functions to mesh.cpp to set elementBoundaryMaterialTypes and nodeMaterialTypes based on the  conventions in those  boundaryTags.
Shouldn't these be replaced with constant enums or defines?