tree-building now levelwise instead of recursively

Change the building process of the tree. Now TreeBuilder is managing the
levelwise creation of nodes - therefore storing always the last level in
an ArrayList. While this is not as elegant as the recursive approach -
this allows for a more precise controlling of the compuational volume as
it happens. Also i am hoping to figure out how to remove duplicates by
linking same nodes from different branches to two parents at the same
time...
Created a static deepCopy method in BoardParser. Rewrote Node from
scratch.