Added ThreadTree, which builds levels of its tree.  Modified the Driver to use this class.
Got threads working.
Merge branch 'master' into threads
Changed Tree and Node to implement Runnable.  Stuff is broken now\!
Tidied up threading to work with interrupts better.  What used to be buildLevel() in Node and Tree are now run(); both classes implement Runnable; and run() will recursively create new threads, memory allowing.
Merge branch 'threads'
Discarded ThreadTree as it is not longer necessary.
Merge branch 'threads'