added pattern matching and safe recursion
added rest capturing
pattern matching tests
put pattern matching functions into a namespace object
started on comments