Add ability to clone the reader. Cloning can be used to return to parsin...

...g position at a time when clone was created given that source stream is in the same position/buffer as when clone was created.