Use RequestPool instead of manual scheduling in OpH5WriterBigDataset.

In order to prevent overloading the memory of the host computer,
OpH5WriterBigDataset manually schedules active requests. This limits the
maximum utilization of the resources on the host. This patch passes the
responsibility of scheduling tasks and controlling memory usage to the
Request framework.
Use determineBlockShape function to determine chunk shape.

Chunk shape computation in OpH5WriterBigDataset assumes that data has 3
space dimensions (x, y, z). If there are less, the chunk size computed
is too small. This leads to poor performance due to excessive
bookkeeping around instanteneous C++ calls.

Using the utility function determineBlockShape() returns more
reasonable chunk sizes.

With this change, CPU usage is still not optimal with frequent spikes
between maximum CPU utilization and single processor use.