flushAll() returns result and can be called multiple times
The original VELOC-GIO code introduced the flushAll() call that waits for async I/O to finish and shuts down VELOC. It was meant to be called by HACC at the end of the execution. This merge request changes the semantic: flushAll() only waits for async I/O to finish and returns the result (bool indicating whether all I/O operations finished successfully or not). A separate shutdown() call is needed to shut down VELOC (needed before exit).