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__.