public static byte[][] split(final byte[] a, final byte[] b, final int num) {
        return split(a, b, false, num);
    }
Split passed range. Expensive operation relatively. Uses BigInteger math. Useful splitting
ranges for MapReduce jobs.

@param a   Beginning of range
@param b   End of range
@param num Number of times to split range. Pass 1 if you want to split the range in two; i.e.
           one split.
@return Array of dividing values
stroom-bytebuffer/src/main/java/stroom/bytebuffer/hbase/Bytes.java