Calling failpath_string() here leaves the final letter randomly upper or
lower-cased, since call->fail is uninitialized. This means we sometimes
don't match the debug string.
1) Initialize call->fail here so it will match the debug string.
2) If our calls don't match --debugpath, abort.
3) Don't match the final letter (which may be upper or lower case)
when checking we're still on the path. We could do better, but this is
only a sanity-check anyway.