Using io.Reader instead of bufio.Reader.
Adding internal buffer to speed up unmarshaling.
Finishing implementing the Decoder{} interface.
Adding Encoder type and Encoder.Encode() method.
Fixing golint warnings.
Updating README file.
Integrating branch with Encoder and Decoder.