This method will compare two InputStreams of given lengths If the inputsteam supports mark/reset (such as those backed by Array[Byte]), and the lengths are equal and longer than minSizeForFulBinaryCompare we first check if they are byte-for-byte identical, which is a cheap way to avoid doing potentially complex logic in binary comparators