Add support for encrypting/decrypting streams

We work with some very large files and wanted support for encryption without loading the entire file into memory.  I didn't include it, but I tested with files at 25, 50, and 100 MB and it performed great.