Fix some sharing problems.

1. All tokens was sharing the same name, because the methods in the
   feature clause is run exactly only once. Moved the {NewName} method into
   'init()' instead.

2. Fixed infinite loop when sending a variable, because the sent variable
   will be a reflective one and be bound again, which will cause another
   bind() message ad infinitum. Fixed by using .become instead.

Removed some debugging messages.
Added @jaymelbe's example and reduced code for stuck-at-markNeeded problem.