Get KfieldBC tests working.

Reintegrated ProjectIPtoNodalField. The tests pass, but the coverage doesn't
include correctness of the projection, so:
- I still need to verify it.
- I also need to verify that response functions are called at the right time in
  this merge branch. This is particularly relevant to ProjectIPtoNodalField.

I updated the TODO.