Remove one Knuth-added fiddle with lost_treasures.

Compare to Crowther and Woods' line number 30310. If you collapse
the troll bridge without seeing the spices, Woods cuts you some
slack. Knuth added a check for the golden chain as well; but the
only way for that code to matter is if the player deliberately
entered the barren room in the dark, fed the bear in the dark,
and unlocked the chain in the dark (because that's the only
path by which you can get the bridge to collapse). So that check
is not only inauthentic but rather silly. I've removed it.
Factor out forbidden_to_pirate() as a function.

Knuth rearranges the rooms so that all the rooms forbidden to the
pirate happen to be greater than R_PIRATES_NEST. But that clever
pun isn't going to work for Long's version, so I might as well
factor it out now. As a bonus, the code is a little clearer.

No change in behavior.
Refactor and fix a bug with FILL VASE.

The behavior of FILL VASE (with water or oil) is broken in a different
way in every version of the game I've seen. In Woods' original, trying
to fill the vase while the pillow is on the ground beside you will
shatter the vase, then cause the vase to magically repair itself when
the game tries to DROP it next to you. In Knuth's port, the vase will
permanently shatter, but it remains in your inventory (as "Ming vase")
until you drop it. In McDonald's "Adventure 6", one of the authors clearly
noticed the bad behavior and tried to fix it, but you still end up with
a bogus message ("There is nothing here with which to fill the vase.")
in addition to a correctly shattered and dropped vase.

As part of this refactoring, I've removed the variable "suppress_ok_message"
from attempt_drop(), in an attempt to de-spaghettify things.
Fix several bugs in Knuth2010 recorded on Knuth's web site.

These were all reported by yours truly.

page 247, replacement for line 13 (14 August 2012)
  default_msg[TOSS] = default_msg[DROP];
page 304, line 11 from the bottom (14 August 2012)
  change 'check,""' to 'check,0'
page 313, line 10 (14 August 2012)
  change "hides his treasure" to "leaves his treasure"
page 324, line 10 from the bottom (14 Aug 2012)
  change "printf" to "if (p) printf"
page 329, line 12 (14 August 2012)
  change "wish to quit" to "want to quit"
page 331, replacement for line 1 (14 August 2012)
  report("Peculiar. Nothing unexpected happens.");
page 334, line -4 (10 August 2012)
  change "change_to(EAT)" to "verb=EAT"
  (and also remove change_to from the mini-index on page 345)
page 346, line 4 (15 August 2012)
  delete "k=1;"
Fix more bugs in my map of the maze "all alike".

The connection from 53 to 51 should be west, not east;
there was a missing loop to the north of 42; and room 87
was missing entirely. Also, I've added little stalactite
icons on the three rooms (45, 50, and 53) into which you
are dropped at random when climbing down from the "top of
stalactite" room.

I've also verified that Platt's "Adventure 550" faithfully
reproduces this maze.
Fix a bird bug, and rename TROLL2 to NO_TROLL.

During my refactoring of attempt_drop(), I mistakenly removed the
uncaging of the bird when it's vaporized by the dragon. If we don't
uncage the bird properly, then dropping the cage will magically
put the caged bird back in the current room.

Also, I've reintroduced Woods' JUGGLE subroutine, which moves an
object back to the head of the object-list for its current location.
Knuth just uses "move()", which is equivalent, but I like the extra
self-documentation of using "juggle()" to indicate this cosmetic
shuffling of object descriptions.

I've also added a few sanity-checks in carry() and drop(), and
renamed Knuth's TROLL2 (Woods' "phony troll") to NO_TROLL. This
is the object whose description is "The troll is nowhere to be
seen."
Replace R_CRACK, R_CANT, R_SNAKED, and R_SEWER with remarks.

This has been on my to-do list for a while. After my refactoring
of the BACK code, I've convinced myself that indeed there is no
observable difference between these four rooms and the four remarks
I've replaced them with.

Perhaps R_UPNOUT could also be replaced with a remark, but I
believe that *would* have observable (if beneficial) effects,
via interaction with the BACK command.

Will Crowther's original source code didn't have any provision
for reusable "remarks"; that feature was added by Don Woods. When
Crowther wanted to rebuff the player with a message such as
    YOU DON'T FIT DOWN A TWO INCH HOLE!
he would create a new room with a forced move. (A forced-move
room, of course, can only have one exit.) Woods kept Crowther's
mechanism for forced moves, but also added "remarks" so that the
same rebuffing message could be used in multiple locations. For
example, Woods changed Crowther's message to
    YOU DON'T FIT THROUGH A TWO-INCH SLIT!
and made it a remark, so that he could use it at the "pit with
stream" location as well as aboveground. But for the few messages
that didn't specifically *need* to be reusable (CRACK, CANT,
SNAKED, and SEWER), Woods left them as pseudo-locations.

This change saves about 260 bytes of RAM on the Z-machine.
The motion-verb NOWHERE is impossible for the player to employ.

At least in Knuth's version, and mine, it's impossible for execution
to reach the travel-table codepath with mot==NOWHERE, because of
the several places that use NOWHERE as a special value meaning
"don't move" or "look around".

The mysterious NOWHERE connection appears in Crowther's original
source code. Personally, I suspect that "21" (NOWHERE) was a typo
for "23" (PASSAGE), which otherwise doesn't go anywhere from
the cobble crawl despite its being described as a "low PASSAGE"
with a "dim light at the east end of the PASSAGE". It would make
perfect sense for the verb PASSAGE to take you east.
Change the "vase broken" prop value from 2 to 1.

I had overlooked this unused object-description when I refactored
a lot of object-descriptions into regular printfs. There's no
reason to keep the message around as a description of the vase,
since it's printed only once (when you drop the vase on the pillow).
Then, in the spirit of my long-ago compression of the beanstalk
prop values, I've decided to compress the vase's prop values too.
The prop value for "worthless shards" is now 1, not 2.

I've also fixed a comment about DROP VASE. It turns out that I
was misreading Woods' code; when he compared LOC to PLAC(PILLOW)
and then checked AT(PILLOW), that *wasn't* redundant; what would
have been redundant is comparing LOC to PLACE(PILLOW). PLAC(PILLOW)
is a synonym for R_SOFT, so in fact Woods' code matches Knuth's
exactly.

Should be no change in behavior.
Merge branch 'master' into original-bugs
Reproduce Woods' original FILL VASE bug.

Per the block comment: dropping the pillow in the current room
before trying to FILL VASE will result in the vase shattering
and then being miraculously restored when the game attempts to
place it in the current room using the logic for the DROP command.