Make 'push' default to '--keep --norebase' if git status isn't clean

If git status isn't clean, the change-branch isn't rebased and the
upstream isn't checked out.
v0.017

  [New features]

  - The new 'git gerrit web' sub-command opens up in a web browser the
    Gerrit pages corresponding to the list of changes it gets as
    arguments.

  - 'git gerrit show' now accepts a list of changes as arguments and
    shows all of them.

  - 'git gerrit checkout' now accepts a list of changes as arguments,
    fetches of them and checks out the last one in the list.

  - Bash completion support is implemented by the
    etc/bash_completion.d/git-gerrit script.

  [Changes]

  - Issuging a 'git gerrit new' while in a change branch creates
    another change-branch based on the same upstream. Previously it
    was an error.

  - The 'git gerrit checkout' and 'git gerrit cherry-pick'
    sub-commands now check if the changes they operate on belong to
    the current repository's project. If not, they issue an error.

  - When issuing 'git gerrit push' with a dirty status, the options
    --keep and --norebase are assumed by default.

  - The git-gerrit manual had its sections completely reordered in an
    attempt to offer a more natural read.