Code to verify conditions ( a == b ).

Comparisons are pretty strict (type-wise), so that 123.0 != 123. Not sure if
that's the correct approach, and if it is, error messages should be added
when doing these types of comparison as it could be pretty hard to pinpoint
why a condition is failing when you think it shouldn't.
Added support for true and false values
added support for nil as a builtin value
Some initial work on if code. As in Go, if can either be just a condition
or an assignment;condition. When an assignment is present, we still need to
clean up the context when the scope falls out.

This also involved all the code for having nested containers and siblings
(else).