Incorporate the changes from pull request #467, which itself
incorporates a fix for issue #441. Allows hands/self to be an
acceptable but hidden choice (don't think any command actually
needs this). When 'force_invent' option is on, show all the
acceptable but usually hidden choices if no ordinary candidates
are available instead of having an empty menu. Also, omit
force_invent's "* - (list everything)" extra menu entry if the
menu already contains everything.
Cleans up a couple of whitespace issues too. I changed at least
one more and added a couple of comments. I'm not sure about the
comment change that I made in hack.h; the original said "foo is
identical to foo" but the revision might not be accurate.
Fixes#467Fixes#441