Tweak the backtick parser - allow empty backticks.
Test case and fix for empty backtick
Add support for suffix operators ? and ??, and binary operator ?:.
Add ?. operator which does a map with function that does a projection.
Add a simple gensym feature for when we need to generate variables.
Currently assuming users won't create their own variables named __t1 ...
__tN.  Not the most ingenious solution in the world - hygienic macros
would be a bit fancier.  But this is being done in the parser right now,
we don't even have an official macro system in place.
Remove Token class and uses.  Implement orElse() operator "?:".
Call the orElse method valueOrElse().
Allow object literals to be nested like:

foo:
  bar:1
  baz:2
  
== {foo:{bar:1, baz:2}}