Add an iterator interface

and move the printer classes to the tokenizer file
and remove the map in the object node and make the vector stor pairs
instead, (this should be possible to abstract, now that there is an
iterator interface)