Optimizations and assorted cleanup, added uncompressed block code

Uncompressed blocks have not yet been tested, but are simple enough.
The return types on a number of the bit stream functions have been changed to an int type,
this avoids costly construction/destruction/copy of the return class.
The return class now uses constant pointers, since the messages don't change,
and pointers are faster than the std string classes for this.
InputStream class now has a multibyte Read function, this improves buffering performance.
Made the Adler32 checksum a bit faster using a method like zlib.
Probably put too much in one commit, oh well...