Fix JIRA::REST dependency on dist.ini

I forgot to do this before releasing version 0.048 when I substituted
JIRA::REST for JIRA::Client.

Also, the spurious Gerrit::Client dependency is removed.
Substitute '-' for '_' in config variable names

Three config variable names in the githooks.gerrit section had
underscores in their names: review_label, vote_ok, and vote_nok. But
config variable names can only have alphanumerics and the hyphen in
their names, as specified in 'git help config'. So, here I change the
underscores by hyphens.
CheckJira: Fix config setup in patchset-created hook

The config wasn't been setup during the patchset-created hook.
Placate Perl::Critic
Reformat error messages

Now every error message produced by Git::Hooks follow this pattern:

  [MODULE] TITLE

    BODY

<MODULE> is the name of the module where the error was detected. Usually
the name of a plugin module.

<TITLE> is a single line description of the error.

<BODY> is optional. It can carry extra details about the error. There is
always an empty line before and after it, and all of its lines are
prefixed by at least two spaces.
Implement the githooks.gerrit.comment-ok configuration

By default, when approving a review Git::Hooks simply casts a positive
vote but does not add any comment to the change. If you set this option,
it adds a comment like this in addition to casting the vote:

  [Git::Hooks] COMMENT
Fix Gerrit documentation URL
Print an error message when cannot POST to Gerrit
Do not vote on Gerrit draft changes

The patchset-created hook is invoked for normal changes as well as for
draft changes. However, since draft changes are normally visible only by
their respective owners the hook usually can't vote on draft
changes. Hence, Git::Hooks does not cast votes on draft changes.
Implement Gerrit's draft-published hook

The draft-published hook is invoked when a draft change is
published.

Since draft patchsets are visible only by their owners, the
patchset-created hook is unusable because it uses a fixed user to
authenticate. So, in this commit we make Git::Hooks exit prematurely
when invoked as the patchset-created hook for a draft change.

When the draft is published is a good time to perform all the checks
that should have been performed by the patchset-created. So, we make all
plugins that hook to patchset-create to also hook to draft-published.
Add REPOSITORY section to documentation
Implement githooks.nocarp configuration variable

By default all errors produced by Git::Hooks use L<Carp::croak>, so that
they contain a suffix telling where the error occurred. Sometimes you
may not want this. For instance, if the user is going to receive the
error message produced by a server hook he/she won't be able to use that
information.

Now the user can request no suffixes by defining the githooks.nocarp
configuration variable.
Placate Perl::Critic

The run_hook routine is really big. I'll get to refactor it later.
v0.049

  [Changes]

  - Support Gerrit's draft-published hook which is invoked when a draft
    change is published.

  - New githooks.nocarp configuration variable to suppress the script line
    number on error messages.

  - New githooks.gerrit.comment-ok configuration variable to add a comment
    to a positive review in Gerrit.

  - All error messages are now printed in a specific format.

  - Released at #cpanday.

  [Fixes]

  - Git configuration variables can't have underscores in their names. So,
    this version changes the names of three of them under the
    githooks.gerrit section: review_label, vote_ok, and vote_nok. They are
    now: review-label, vote-ok, and vote-nok.

  - The patchset-created hook wasn't setting up the configuration variables
    correctly.

  - Draft changes in Gerrit don't trigger the patchset-created hook anymore,
    because only the draft owner can review it.