git: Improve CreateOrResetBranch

CreateOrResetBranch now returns an Action instance that can be used to
rollback the changes implied by calling the function.

Change-Id: f997f86040
release stage: Bring the command up to date

The steps that release stage goes through now are:

  1) Fetch the remote repository.
  2) Make sure the release branch is up to date (and that it actually exists).
  3) Make sure the stories can be staged.
  4) Check that no commits are being left behind (= they are on develop
     or some other branch, but not on the release branch). Print a warning
     and prompt the user in case there are actually some commits being left
     behind.
  5) Tag the release branch with the release tag.
  6) Delete the release branch.
  7) Reset the staging branch to point to the newly created tag.
  8) Stage the release in the issue tracker.
  9) Push the updates to the remote repository.

Change-Id: 6a28035c68
jira: Implement common.RunningRelease interface

Change-Id: 81aef2d32f