Modify file I/O to encrypt with raw byte arrays.

This has some benefits:
* The ability to encrypt/decrypt binaries. Previously, reading the file contents into a string necessitated UTF-8 encoding, which corrupted the binary data. Now, that is no longer a problem.
* Performance boost is around 500% - 1000%, since the byte array doesn't need to be converted to a base64 string or a hex string.