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