WIP interfaces and implementations.

I've also modified the syntax for aggregates somewhat, so that interface
implementations and aggregate members are both specified as part of the
same body expression.
One of two implementations in the interface test runs.
WIP interfaces.

Most steps in the basic interface code generation now seem to work, and the test fails in later
type-checking stages.
WIP interfaces.
Interface test now works.