Generalize boundary condition calculations. Make boundary conditions a
property of Surfaces. Construct domain from Blocks and Surfaces. Create
"Cell" object to contain cell properties. Add zero flux boundary
condition for deep ground.