add limited lookahead to bsondocumentreader
add Mark class to store marks in readers