*Create an IStorage interface and Storage abstract class to use instead of Stream
* Improve AES-XTS performance by ~16x
* Double AES-CTR performance: 800 MB/s -> 1600 MB/s on a 6700K
* Add AES-XTS tests
* Add AES benchmark and AES-CTR writing
* Add support for a hashed FAT in save files
* Add option to export decrypted NCA
* Allow opening decrypted package1 and package2
* Make sure romfs disposal can cascade all the way down
* Validate NCA, NPDM and package2 signatures
- Read only the NCA header when first opening an NCA. This allows for reading of partial NCAs and slightly improves performance when opening an NCA.
- Add a separate NCA method to validate master hashes now that it's not automatically done when opening the NCA.
- Fix possible hang when reading BKTR sections.
- When keys required to decrypt an NCA are missing, throw an exception with information about the missing keys.
- Add more sanity checks when reading an NCA.
Hactoolnet: Don't hard-crash when hitting an unhandled exception