[Spark 2387][Core]remove stage barrier

based on https://github.com/apache/spark/pull/1328.
when one task of parent stage is not finished, so other executors is idle. we can pre-start the reduce stage to make good use of these idle executors.
This can achieve better resource utilization and improve the overall job performance, especially when there're lots of executors granted to the application.in my application's test, it improves the job by about 10%.
@lirui-intel @sryza @rxin