added test/ directory to .gitignore
added Token class, reorganized to produce recursive dependency mapping for every node from the start
unit test to check that recursive dependency mapping works