Fix name of Messager property of Message struct

Had been "Message" (no trailing "r"), now is "Messager". Thus follows the
pattern of, e.g. the Response type, which has a Responder property of type
Responder.
Factored out tiny isExec function for checking for executable files

Was used in all of two places, but seems a bit clearer (esp if there's ever a
need to be more careful about what executable means -- e.g. can be executed by
this script, not just by some user somehow).
Fix the response to the -help flag to include the Usage() message.

Before this, you would only get the Usage message if you passed in the wrong
number of arguments.  Specifically, if you passed in -help, you'd get the list
of *options*, but it wouldn't tell you the non-optional parameters needed.

Fixed this by moving the definition of the flags.Usage() var up above the call
to flag.Parse().  That way (apparently), the flag package defaults to invoking
Usage().
Merge pull request #1 from dmilstein/master

Small code cleanups