Add test imposing strong bcs using Nitsche's method

Solve the same problem as poisson_strong_bcs but impose the strong
boundary conditions weakly.  This tests solving problems with more than
just cell integrals in the bilinear form.
Build jacobian with correct sparsity pattern in NLVS

Previously we assumed that we would only solve problems that contained
cell integrals.  Fix this by assembling the form for the jacobian to
build the Matrix in __init__.
Merge pull request #85 from firedrakeproject/fix/issue-85

Build correct Jacobian sparsity in nonlinear solve and add test by
solving Poisson's equation using Nitsche's method to impose strong
boundary conditions.