Parse ternary ? expressions

Tip of the hat to @jfoley
Fix support for methods ending with ? and !

Doesn't work if they receive args, but this is a step in the right direction.
Probably shouldn't do this in the parser, it should probably happen in the lexer.