Apply boundary conditions correctly in _la_solve case

Now that the assembled bilinear form remembers where it came from, we
can correctly apply strong boundary conditions.
Add test of preassembled solve with boundary conditions