Fix parsing of conditional expressions
Add semantic analysis of conditional expressions
Type check conditional expressions

Closes #221.