Added support for changing parent revision during rebase

It is a common use-case of configuration managers (CMs) to restructure
a sequence of patches towards a target branch.

This patch allows restructuring of patches from the UI and REST API
using the rebase action.

It is now possible to:
  - Introduce a new dependency towards another change.
  - Remove dependency towards another change.

There is a non-obvious limitation regarding the parent revisions: It has
to be a valid patch set towards the same target branch.

Change-Id: I882b16a929b2ce0c66b1a6d9b64947220bb46d0b
22 files changed