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.
Yes. raised this as #140