Test applications of BCs to mixed system with zero block
Correctly apply DirichletBCs to zero matrix blocks

Previously if we had a zero matrix block we would not execute a kernel,
and hence would not apply any boundary conditions to that block.
Merge pull request #322 from firedrakeproject/bc_zero_block

* bc_zero_block:
  Correctly apply DirichletBCs to zero matrix blocks
  Test applications of BCs to mixed system with zero block