More visit-y goodness.

VisitList -> Visit.List, VisitStack -> Visit.Stack. Made the Visit.Stack into a
standard thing as well and integrated it with the visit list. So when you start
wandering off through the visit list, we push your old location onto the stack
so that you can easily pop back to it.
Made remove stricter.

I don't want SeqBuffer[String].remove(Int) to compile, but when we allowed B >:
A then it would unify Int and String to Any and attempt to remove the Any. No
thanks!
Fix bogosity.

This error is thankfully no longer possible, as I've fixed the SeqBuffer API.