Show commit-msg's full path in the information messages
Allow 'push' with --force when git status is dirty

The --force option allowed pushes when there were multiple commits
from upstream..HEAD. Now it also allows a push when git status is
dirty. However, if both conditions hold, the user must use two --force
options just to be sure.
Infer configuration from the remote's URL

Now git-gerrit assumes 'origin' by default if git-gerrit.remote isn't
explicitly configured.

Moreover, the variables git-gerrit.baseurl and git-gerrit.project, if
not explicitly configured, assume defaults based on the
git-gerrit.remote's URL.

This allows git-gerrit to work out of the box without any
configuration, most of the time.
Placate PerlCritic avoinding a global nested function
Format Gerrit error messages properly

Using Gerrit::REST version 0.008 we can have a better handle on the
errors gotten from Gerrit REST calls, which allows us to format them
better.
Add tidyall.ini file

To configure the execution of 'tidyall -a'.
Make grok_config memoize its result

Since it's already invoked in more than one place, this is good for
performance.
Split the config routine into two: config and configs

The config routine returned a scalar or a list depending on its
calling context. But in most places it was called in a natural list
context when we wanted a scalar, forcing us to call it inside a
scalar().

Now we have two routines: config and configs. The first always returns
a scalar while the second always returns a list.
URI escape usernames in REST URLs
v0.014

  [New features]
  - The configuration variables ('remote', 'baseurl', and 'project')
    now have suitable defaults which should allow most users to start
    using git-gerrit out of the box, without any pre-configuration
    required.

  - You can --force a 'git gerrit push' to succeed when the working
    area is dirty.

  [Changes]
  - Gerrit error messages are now formatted in a way that make them
    more understandable.

  - The full path of the commit-msg hook being installed is shown in
    the debug messages.

  [Fixes]
  - Usernames are now URI-escaped before being inserted in REST URLs.