Move subscription between timeslots atomically

For signup sheets that where the user can signup for one time slot at
most, this allows changing subscription to a different slot
directly.

The main advantage for the user is that this minimizes the risk of
ending up with no subscription when manually changing the timeslot. As
currently the user is required to cancel the current subscription, it
is possible that both the old and new timeslots fill up in the time it
takes to submit the subscription for either/both slots.

Also, this saves time as the user doesn't have to retype the
information needed for the signup.