Jeremy's manpath workaround breaks on Fedora

In Fedora, /usr/man and /usr/local/man do not exist. So far, so good,
100% LSB compliant, etc. But in such case Jeremy's workaround tries
to install into /usr/man, so builds fail.

Suggestion: keep 'share/man' as the normal path and only invoke the
workaround when it's needed.

Ironically, if you look at Jeremy's original review patch 1, it worked
properly: it detected if something was symlinked and expanded those.
But then some kind of ridiculously involved problem with package
upgrades in Debian popped up and the condition was quietly inverted.
 See https://review.openstack.org/15146

Bug: 1073766
Change-Id: I78c2d2a0456ac2aa921b4d0720634622569d145d
Use the local branch name as topic only if it is different from remote

The manpage already mentions:

"Alternatively, the local branch name will be used if different from
remote branch."

But actually local branch name was always used: simply don't specify a
topic if it would be the same as the branch name to avoid generating
unnecessary noise.

Change-Id: Idd7ac66d0df19a7abdae86f08174e1e37c29a19b
git_config_get_value to return None

- use git_config_get_value instead of "git config"
- return None when no value is specified
- fail with git error code >= 128 if .gitconfig
  has illegal format or some other serious git problem happens.

Change-Id: Icedfb6a281948056f57bf1581ef186b503ba6b94
Allow per-user override of -R setting.

Introduce "gitreview.rebase" user configuration
option.

Change-Id: I96dfab1af48d8f1592766fea4b97e0f35c03d8a5
Switch to flake8 from pep8.

Change-Id: Ib7e1e51e644dbdfc530a7c5ca3005dd73ffa3f79
Align to OpenStack Hacking guidelines.

Change-Id: I8eeea3be46d4943c462772de26b10142f426a00c
Merge "git_config_get_value to return None"
Merge "Allow per-user override of -R setting."
Merge "Switch to flake8 from pep8."
Merge "Align to OpenStack Hacking guidelines."
Start development of 1.22.

Change-Id: Id34cfaddb2cf5d1a803f4eba0428e3f746bb284c
Add venv testenv to tox.ini.

The automagic pypi publishing of releases through jenkins.openstack.org
depends on tox having a testenv called venv. Add this new testenv so
that git-review can be released automagically.

Change-Id: I89d78a22c13f94b5af3cda1115c8068424d42b34
Rename README.md to README.rst

This change helps make pypi.python.org happy when displaying our readme online.

Change-Id: Iebf821422d66e95b59105094473fb183885aa4fb
Signed-off-by: Paul Belanger <paul.belanger@polybeacon.com>
Merge "Add venv testenv to tox.ini."
Allow per-site and per-user Gerrit defaults

This patch changes the way the project configuration is generated. Rather than
a set of static defaults that can be overridden with a repo-specific
.gitreview, there are now two other places git-review checks, in ascending
order of priority: the static defaults, the global configuration file
(/etc/git-review/git-review.conf), the user configuration file
(~/.config/git-review/git-review.conf), and the repo-specific .gitreview. This
makes it easy for people to specify (for example) that they prefer to have the
default Gerrit remote be 'origin'.

When git-review failed to find a .gitreview file in the local repository, it
would previously instruct you to create a remote named "gerrit", on the
presumption that the absence of the .gitreview ensured that the hard-coded
defaults would win. But in fact Gerrit may not be looking for a different
default remote, if one has been specified in one of the configuration file.
This change ensures that the actual default value is outputted -- 'gerrit' if
indeed no configuration files exist; if global configurations do exist and
define a defaultremote key, then use that instead.

Change-Id: If8f9e0b633a78fae0356d583b260d67368b54795
Document defaultremote option & site/user configs

This change documents the 'defaultremote' configuration option and the ability
to specify default values using a user or site configuration file.

Change-Id: I045ade9ff699b38977c5974b7185081552cd08e8
Provide usage help even if not in Git directory

If a new user installs git-review and invokes it with no arguments (or with
'-h' / '--help') outside of a Git working tree, all she gets is a terse error
message that offers no usage help.

With this change, git-review behaves in the following manner when invoked
outside a git working tree:

* If a command-line argument is present and it is not '-h' or '--help', it is
  assumed that the user was attempting some action, and so git-review fails
  with the same error message as before.
* If no command-line arguments are present, or if there is a single
  command-line argument that is either '-h' or '--help', usage information is
  printed and the program exits.

This patch also adds myself to AUTHORS and fixes a small typo in README.rst.

Change-Id: I6fda72bf5311e74318b42e2860e7742e07b515de
Merge "Provide usage help even if not in Git directory"
Start development of 1.23.

Change-Id: Iba11b57470518efceba15866163b2124fcb72ae8
Expand multiple commit submission warning.

Added some more information to the message given to users when they
attempt to submit a review with multiple commits. This reassures users
who are submitting dependent changes that multiple commit submission is
expected in that case.

Also moves the message about potentialy squashing to before the prompt
and confirms that the submission will be cancelled if not confirmed.

Change-Id: I65d5a73c27d0be0170957598da00a69d1c44a8b6