ByteStreamWithOffsetAndSize: avoid senseless exceptions throwing
ByteStreamWithOffsetAndSize: avoid senseless exceptions throwing

Example:
IByteStreamPtr stream = ...
ByteStreamWithOffsetAndSize chunk1(stream, 0, 10);
ByteStreamWithOffsetAndSize chunk2(stream, 10, 10);
chunk1->Tell(); // exception here

Manually maintain position. Calling underlying->Tell() to get position is useless.
Right offset will be set before every write.

But call underlying->Tell() to check that underlying stream can work.

GSGroup/stingraykit,GSGroup/stingraykit