Added encrypting and decrypting streams functionality and tests, refactored encrypting and decrypting Ciphers

Added functionality for encrypting and decrypting streams.
Added tests for encrypting and decrypting streams testing several inputs, all modes, all key lengths
Refactored encrypting and decrypting Ciphers - made them private local variables in AESKeyVersion and initialized them in the constructor (following the builder design pattern)