Fix crashing problem when bootstrapping.

There were several errors all compounding together that caused what _should_
have worked to just deadlock.

One of the problems I discovered was that a "call" to $do$lit was attempting to
jump not to its starting address, but rather to its first instruction.  This
was due to the fact that $do$lit was intended to serve the role of "docon", to
handle constant values.  My logic at the time was that, hey, the value after
the PC in both colon definitions and in a constant is a "constant," so the same
code can be used to handle both.  This assumption does not hold for indirect
threaded code.  All pointers in a colon definition must refer to word headers
(or some other form of execution token), and those word headers must, in turn,
refer to the real code to be executed.  My assumption would have held for
direct-threaded code, though.  (This would have been caught early by a static
type checker.)

The second thing that was causing issues was that EXIT and BRANCH, similarly,
had no execution token/word header through which to branch through.  As a
result, colon definitions would crash upon exit or upon any control flow
operation involving BRANCH.

The fix includes creating a word header for everything that can appear inside a
colon definition (via the CODE/END-CODE pair), and cleaning up some of the
unused code this left behind.  I'm sure more code can be safely removed, and
I'll get to that code in future commits.  Just to make sure things are working,
I added an ad-hoc implementation of +!, and it seems to be working as I
expected.