Revised text on choice of language.

Still not totally happy with this.  I'd like to get across that while
we certainly start with the core of EVERY object-oriented language, we
end with something that, while still "modest" in Dijkstra's sense, is
more advanced (mixins, this%, etc.) than many industrial OO languages.
Placed old class discussions in more appropriate places.

We had old notes on sharing in interfaces and booleans versus more
general unions, which I placed in places that are a better fit for
talking about these things.  This allows the "larger design" chapter
to start right off with it's subject.