The zio_root() interface recently removed the READY stage in its
pipeline. However, there might be workloads that rely on zio_root()
calling the READY pipeline phase even though a callback is not invoked.
This change re-introduces the original behavior of zio_root() so that
any features that may have relied on the old behavior are not impacted.
Additionally, it adds a new interface, zio_root_done(), to provide
the performance benefits that consumers like the ZIL might benefit from.
Signed-off-by: George Wilson <gwilson@delphix.com>