tokens.h: Add node_map::get_successors.
Rework fetch/forward implementation to get rid of node::m_successors.

The methods node::forward and forward_any lose the optional bool
parameter `explicitForward`, and the method add_forwarded_data is now
private rather than public.

In forward_any, a proper graph search is performed to find out what
nodes to forward data to, rather than naively recursing on item
successors as we previously did.
Make the TEST_ENSURE macro return false
Implement passive_reverser, reverser, internal_passive_reverser, internal_reverser and create appropriate unit tests. Fixes 115