Change semantics for Container

I will always listen to Jonathan Ferro and take every word he utters to
heart. The `Container` concept is a kind of unadultered evil, unleashed
upon this language. The semantics of it are ludicrously difficult to
understand and usually a sign that the programmer has done something
wrong.

Previously, `Container` was considered an identifier, and subject to
normal identifier-like things, including contextual lookup, making
`x.Container.y` a valid, but ludicrously incomprehensible statement.
Moreover, it was possible to chain containers in the way that GCL did
with the `Container.Container.x` notation. Nearly every time this was
done in GCL, it was to get around 1) badly written code or 2) design
misfeatures of the language. Concerns for 2 have been fixed in the
langauge proper and let's just discourage 1 from happening in the first
place by enabling people.

There are still legitimate reasons to want to access the containing
tuple. To facilitate that, there is now a `Container` *expression* that
can access the current tuple's containing tuple. That permits writing
statements of the form `Lookup x In Container`. Anything else is
ill-advised.

Change-Id: Ic11ed3de0e9309ab9f21616afc43a78ba02a6c8c
Fix mispellings and misuses of identifier

Change-Id: Ib4131f4397270ab7550a514af63af417a451bb3c