Fix shared_ptr misuse in protobufIO reader/writer
Both the reader and writer for protobufIO only took a copy of the underlying stream when constructed with a shared_ptr, which meant that it could get deleted from under these instances as they were not included in the ref counting for this stream.
Adds a readerFactory test for compressed protobufIO files