[FLINK-1003] Added spread out scheduling strategy

The spread out scheduling strategy tries to keep the work load among the instances balanced. The scheduling strategy can be specified by the configuration parameter ```jobmanager.scheduling-strategy```. Valid options are ```SpreadOut``` and ```FillFirst```. The latter strategy is the old and default strategy.