fix formatting
split out BTree into seperate module

- make some helper functions to make adding tests easier
- program output is probably completely wrong as selectorNode is
  partially implemented
format output to include test and args
fix up selectorNode impl