Added additional unit tests and code to verify support for:

* boolean values
* unary expressions `!(foo)`
* conditional operators `foo == true ? bar : fee`