Ternary op, bit-shift op and repl enhancement

* ternary operator ("?:")
* bit shift operators
* better parser error messages
* make the AST dump slightly more compact where appropriate.