Fix compatibility with ghc 7.0.4 (fix #44).
execParserMaybe function added
Replace nested monads with transformers.

The stepParser function was particularly complicated by the need for
non-determinism imposed by the disambiguation feature, so I refactored the code
to use monad transformers instead of nesting monads in a non-compositional way.

Non-determinism is implemented using ListT-done-right, whose code is in the
Internal module for the time being, until it is merged into transformers.
Rename liftEither/liftMaybe to hoistEither/hoistMaybe.
Add tests for ordered argument parsing.
Enforce order of positional arguments.
Update CHANGELOG.
Add MonadPlus instance for ReadM.
Add one more test for ordered argument parsing.
Add hsubparser builder to Extra (fixes #28).

hsubparser works like subparser, but automatically adds a help option to every
command.
Prepare release 0.6.0.
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.
Merge pull request #49.

Also, add customExecParserMaybe for symmetry, add documentation, and make both
functions take a ParserInfo instead of a Parser.

Conflicts:
	Options/Applicative/Extra.hs
Update CHANGELOG.
Bump version to 0.6.1.
Always exit with error when reader fails (fix #47).

Change `runParser` so that, even if parsing is complete, it still fails in case
of reader error.
Add convenience functions for working with readers (fix #48).
Update CHANGELOG.
Add dependency on ansi-wl-pprint.