factored out whitespace test
major refactor - almost passing tests; still has debug output.

Main changes:

  ingore_whitespace is now managed by a global delimiter pattern (can be any pattern)
  rules can override the global delimiter pattern for matching between their patterns
  node.matches is no longer positional. EmptyNode no-longer appears in the output parse-tree.
  no longer using the special ManyNode. Many matches just get added to the parent Node.
all specs passing (though not necessarilly all tests)
debug output removed
all tests passing
removing old code that is no longer used
remove remaining references to old ignore_whitespace system
updated version to 0.5.0 - since we broke a lot in this revision
see CHANGE_LOG