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.
Looks like this is a separate long-term issue.