Mobile-friendliness: move a newline in the intro message.

Both in Gargoyle and on a mobile browser, there's not enough
room on a line for "Don Knuth,"; it breaks between the words.
Move both words to the next line.

Should SOFT_NL be defined as proposed in 150a267d?
I'm still not sure, as I don't spend enough time playing
in small windows to know if it's a good idea.
Implement assert(x) for Z_MACHINE.

Especially for the versions that didn't get a lot of
testing offline (basically everything after ODWY0350),
it makes sense to have some way to detect assertion
failures in the Parchment version.

No intended change in behavior (unless an assertion
actually does fail); but this does make everything
a little bigger and slower.
Add "velvet" as a synonym for "pillow".

This vocabulary word was missing from ODWY0350 and ODWY0440,
because it is also missing from KNUT0350. This is presumably
an unintentional bug in Knuth.
Implement Adv440's weird "5-to-7-char" vocab matching.

The rule in WOOD0350 is "if the first 5 characters match,
it's a match; otherwise it's not."  For example, INVEN
means INVENTORY, as does INVENFOO.

The rule in MCDO0551 is "if the first 6 characters match,
it's a match; otherwise it's not."  For example, INVENT
means INVENTORY, but INVEN and INVENFOO do not.

The rule in PLAT0550 (not actually implemented by
ODWY0550 at the moment, oops) is "if the input is an
unambiguous prefix of just one vocabulary word's synonyms,
it's a match; otherwise if the input is exactly a vocabulary
word, it's a match; otherwise it's not."  For example,
INV means INVENTORY, but INFOO does not; S and SOUTH both
mean SOUTH, but SO is ambiguous (between SOUTH and SOUTHWEST),
yielding the confused response "SO WHAT?".

The interesting rule in LUPI0440 (after this patch, implemented
by ODWY0440) is "if the first 5 characters match, then check up
to 7 characters; if those 5, 6, or 7 characters are a match,
it's a match; otherwise it's not."  For example, INVEN and INVENT
and INVENTOFOO all mean INVENTORY, but INVE and INVENFOO do not.

LUPI0440's rule was probably implemented in order to deal
sensibly with the input "NORTH-WEST". In WOOD0350, this was treated
as "NORTH". Luckett and Pike wanted to make sure it got the proper
treatment, without breaking convenient shortcuts like JEWEL for
JEWELRY or INVEN for INVENTORY. However, Americans in the audience
will quickly notice that Luckett and Pike didn't bother to implement
the unhyphenated "NORTHWEST" etc., so those are treated simply as
unrecognized words. Oops!

Two other interesting quirks in the list of "worn-out magic words":
Woods' "OPEN SESAME" and "SHAZAM" have been incorrectly extended to
seven characters as "OPEN SESAMY" and "SHAZAH".  I've left these as
in Pike's original, since they're not important to gameplay.

Finally, LUPI0440 and WOOD0430 both accept "ENTER H2O" and "H2O BEANSTALK"
as synonyms of "ENTER WATER" and "WATER PLANT" respectively, even
though WOOD0350's original code looked explicitly for the spellings
"WATER", "PLANT", "OIL", and "DOOR".  Therefore, I've changed ODWY0440
to match LUPI0440 in this respect.  ODWY0350, ODWY0550, and ODWY0551
are already correct with respect to their source materials.