Add support for reading ZIP files utilising AES encryption

Working AES-128, -192, -256 decryption

Caveats:
* Doesn't currently check the authentication code
* Won't read zip files which have a data description block without
  the signature. (See notes in code)
* Has no tests yet