Add InfoMsg constructor to ParseError.

Also, abstract out (from `helper`) the pattern of creating options that always
fail. This makes it easier to create options that just print an error message
or display some brief information and then exit (like --version).

This should answer the question raised in #34.  Now creating a version option
is as easy as:

    version = infoOption versionLine
       ( long "version"
      <> help "Print version information" )
Update CHANGELOG.