Fix of PUB-667: fix correct completion of splitter task
in exceptional case.

The top-level counted completer is responsible for
unlocking dataset and created partitions.

If exception is thrown insided partition splitter, then
it is handled inside the splitter and top-level task
at the end during call getResult() check status of
inner tasks and re-trows the exception(s).
Make exact test check for frame split.
Rewrite of split to satisfy requirements stated in
PUB-601 (exact +/-1 split), PUB-676 (empty chunk problem),

Features
 - split the file in N contiguous pieces of given fractional size
 - shuffle checkbox

Disadvantages:
 - the splitting strategy introduces data transfers among nodes
 - it does not preserver original layout of chunks
 - shuffle is only inside chunk

In some cases it would be beneficial
to use original implementation preserving nice properties of resulting
split frames (see https://github.com/0xdata/h2o/commits/9af3f4e )