Rework the code for running suites in parallel (Take 2)

1. Added -randomizesuites cli param. Defaults to false ( which means that suites will be run in the same order as specified in XML)
2. Fixed a small bug in ThreadUtil w.r.t triggerAtOnce variable and use of countDownLatch
3. Reworked SuiteRunnerWorker code to ensure that when run in parallel, parent suite is run first and then all child suites are run before reporting the results for parent suite.
4. Fixed the results counts to be handled the same as they were in v5.13.1.
3 files changed