Introduce the 'call' form

The broader context here is that I'm trying to reduce the number of situations
where '((' appears in the code.

One such situation is with calls like these:

((func (x) (f x x)) y)
((foo x) y)

Instead, we now write them as follows:

(call (func (x) (f x x)) y)
(call (foo x) y)

It's a bit longer but, in my opinion, less confusing. Redundancy can be good.

I also think that it leads to better layout in certain (rare) cases:

(call
    (func (x y)
        E0)
    E1
    E2)

With this change, we have the new invariant that all compound expression forms
must begin with a symbol, possibly inserted by expanding 'T or similar.

The '((' pattern still appears within 'if', 'let', and 'match' forms but I'm
planning on changing that too.