functional: split part of TestScheduleReplace into TestScheduleCircularReplace
functional: split part of TestScheduleReplace into TestScheduleCircularReplace

The last part of TestScheduleReplace has been occasionally failing with
2 units being active, instead of 1 active unit. Its reason is probably
because the circular replace test has been running immediately after a
simple replace test. Even if one of the units was destroyed before
testing circular replace, the other unit remained scheduled on the other
machine, which prevented a new unit from detecting the existing unit
as circular replaces. That resulted in a pretty subtle undefined state.

To fix this issue, split the last part of TestScheduleReplace into a new
test TestScheduleCircularReplace, so that the circular replace part
could start in a fresh status. This will improve code readability too.

dalbani/fleet,dongsupark/fleet,dongsupark/fleet,endocode/fleet,giantswarm/fleet,dongsupark/fleet,jonboulle/fleet,coreos/fleet,coreos/fleet,dalbani/fleet,jonboulle/fleet,giantswarm/fleet,endocode/fleet,endocode/fleet,coreos/fleet,dalbani/fleet,giantswarm/fleet,jonboulle/fleet