RM 4074, 4940: fixups for Solaris and HP-UX in strftime.

This just hacks the format string forwarded to strftime by the
implementation of the strftime in policy language; no change to
strftime() as called by C.
Re-enable strftime acceptance test for HP-UX.
Reworked the strftime() hack to be more extensible.

Added partial support for MS-Win while I'm at it, and make
FnCallStrftime() actually return FnFailure() when it fails.
Moved the hack out into function PortablyFormatTime().
Re-enable strftime acceptance test for MS-Win.
Use fp->name in place of strftime in Log() message.

At @tzz's request, when naming the policy-language function (as
distinct from the underlying raw function for GetErrorStr()'s part) in
a Log() message, use fp->name rather than strftime.
Merge pull request #1598 from ediosyncratic/strftime-port

RM 4074, 4940, 5110: fixups for Solaris, HP-UX and MS-Win in strftime.