Strip trailing whitespace in separate commit, for clarity.
Add a new method and fix a bug in DW::Shop::Item.

Bug fix: the "new" method was checking for userid == 0.  This generated
a warning in the undef case.  Conditional changed to falsehood test.

New method: from_text, plaintext equivalent of existing method from_html.
Common code refactored into _from_other helper method.

Slight behavior change: moved anonymity check to the top of the block,
so it will always print "anonymous" whether or not from_name is set.
(Not sure whether that qualifies as bugfix or new feature...)

Slight behavior change: if $from_u doesn't load, display the error.nojournal
string instead of "anonymous".