When scheduling make sure to clean up empty assignments in zookeeper.

This should fix https://github.com/nathanmarz/storm/issues/551 The part when re-balancing causes the scheduled topologies to be in a bad state inside of ZK.  It does not fix the race between updating nimbus writing new scheduling info and a supervisor trying to read that information.  It also does not do anything to try and clean up workers that were running previously, but are not longer running.  This can result in nimbus complaining about the workers no longer being alive when checking heartbeat timeouts.  If this is important I can go back and try to see if there is something I can do to clean that up as well.