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.