Implement release handling of test versions

When we release an alpha, beta, or release candidate version
we probably don't want the release branch to disappear and we
probably don't want the release branch to get merged onto master.
This change implements the parameter "--keep" that won't delete
and merge the release branch.

It also allows the version number to be different from the name of
the release branch.

Change-Id: I7e9bc19bbc67d1ef28edabda0f0572ebbd6ab75b