I forgot to update unwalked_names at one places where we store a resolved rule. Fix #22.

Also, I apparently forgot to push the tests in the previous commit.

Still not terrifically confident in this, but I think it's demonstrably than the original. However, it's one of those things that's so complicated that it has no obvious bugs, not so simple that it obviously has no bugs. Simplify.