Added Type Parameter to ProtocolBufferReader.

ProtocolBufferReader now has a bounded type parameter and returns
.next() typed according to the parameter. It still requires Class to be
passed to the constructor.