Skip fetching zero-sized blocks in OIO.

This avoids making RPCs if blocks we need to fetch have zero bytes. Also this change unifies the `splitLocalRemoteBlocks` method for Netty/NIO which had the same code