Implement top and bottom BC application for extruded RHSes

We need to build the list of dofs at the top of bottom of the mesh to
which the boundary condition should be applied, and special case in the
DirichletBC nodes property for top and bottom bcs.
Add extruded Poisson test with strong bcs
Implement BC application for extruded LHS assembly

In the extruded case, we can't fiddle with the maps directly to drop
matrix entries in assembly because that does the wrong thing for the
rest of the column.  Instead, add flags to the Map and iteration space
telling PyOP2 to generate code that fiddles with the map values
implicitly.