Add :: as an expression form, translating to a Constructor called ::

Also allow for infix @ at the same point in the grammar. This symbol
just translates to a standard symbol applied to two arguments.

Also, in passing, fix relational operators to be left-associative,
making things like

   3 < 4 = true

legitimate.

Soundness and completeness proved.  One test.

Still to come: list expressions with [...], and patterns with :: and
[...]