Convert hbal from multiple rounds to a step-method
Currently hbal does multiple rounds, stopping when a rounds doesn't bring improvements. With the recent changes to not remove instances from the candidate list, this is obsolete as the first round will always run to the end of the improvements. This patch changes this so that the Cluster.checkMove function doesn't recurse, but just computes the next best move (as its docstring says). This means we can actually incrementally compute and print the solution, and this is needed as otherwise an instance could move twice and the second time it needs the current placement to compute the exact command line and operation needed for the move.