Fix encoding problems that end as GitHub errors

These errors are being confused as GitHub errors, and because of that
issues don't get closed after a successful rebase.
Print more information on GitHub errors while rebasing
pull: Rename --force to --force-push

The new, attach and rebase command support the --force option, but
actually it only forces the push, and it makes sense to differentiate
different types of forcing in the future, though it's better to be
explicit about the meaning of the option.
pull rebase: Remove -f alias to --force-push

This operation should be extremely rare, and very dangerous as is the
blessed repository what's being pushed to, so is better to make it very
explicit to avoid accidental usage.
doc: Add missing --force-push options to pull new/attach
pull rebase: Force the rebase by default

This commit adds a new config variable `hub.forcerebase` which defaults
to "true". The effect of using this is passing `--force` to the git
rebase command, thus forcing the re-committing of all the commits in the
pull request, which rewrites the Committer and CommitDate metadata, now
pointing to the person doing the rebasing and to the date the rebase was
performed.

This helps keeping the history on who and when incorporated changes to
the blessed repository, keeping the authoring information intact and
without resorting to merges.

As a side effect, all the hashes of the commits in the pull request will
change, but that's expected if the pull request was properly based in
the base branch, so it shouldn't be completely unexpected.

This fixes #59.
man: Use true/false in forcerebase instead of yes/no

The canonical booleans in git config are true/false, so is better to
adjust the information to explicitly mention those values instead of
yes/no.
Fix default `forcerebase` value (use "true")

The documentation stated that by default `forcerebase` is set to true,
but the code did defaulted to false.
RequestManager: Move base_url prepending to json_req()

Is better to do the prepending as soon as possible, so lower level
methods stay as abstract as possible (and can be reused for other
purposes).
RequestManager: Change HTTP methods to uppercase
RequestManager: Add a method to get HTTP OPTIONS

This is not really used, is just for completeness.
RequestManager: Don't use `config` directly

Make RequestManager more agnostic to the current usage so is easier to
reuse.
Fix #61: Parse Link HTTP headers for full retrieval

When querying large lists to GitHub, it replies with a "Link:" header
pointing to links to the next "page" of data. This commit parses this
header and automatically retrieves the next page until no next page is
found.
Add python-support source dependency to the Debian package

This dependency is necessary for more recent versions of Ubuntu.

http://lintian.debian.org/tags/python-depends-but-no-python-helper.html
Replace ~ with - in the Debian version

We are switching to use Semantic Versioning 2.0.0. For this, we need to
encode the release candidate as vX.Y.Z-rcR instead of vX.YrcR. The
previous versioning scheme was also broken in terms of Debian
versioning, because vX.Y is considered earlier than vX.Yrc1 by Debian).

Unfortunately, Debian versioning scheme is not compatible with SemVer,
the `-` separator is used to specify a Debian revision and we don't have
one because this is a native Debian package, so `-` is not allowed in
this case (and even if we wanted to use it vX.Y is still considered
older than vX.Y-rcZ by Debian).

For this reason, we will use the `~` separator for Debian version, which
works as expected, but we need to keep using the `-` version to be
SemVer compatible.
Release v0.6.0-rc1
man: Add a small comment on pull attach permissions
Release v0.6.0-rc1