Fix issue with findCodeForward/Backward.

We want to restrict matches to code in a particular block. We were already
bounding to the start/end of the block, but we also need to avoid matching code
that's inside a block nested in our block. That way with code like:

if (foo) {
  if (bar) ...
  else ...
}
else ...

When we seek the 'if' that matches the last 'else', we want to ignore the 'if'
nested more deeply than block that contains our 'else' (and the 'if' we're
trying to find).