[WIP] XTS support

Depends on #183

This is considered WIP because I'd like to see some feedback regarding the coupling of cipher and mode inside BlockCipher. XTS mode uses a keying system that requires 256-bit for 128-bit encryption and 512-bit for 256-bit. Since our cipher object doesn't know what mode you're using I was forced to add 512 as a supported key size, but then raise an error if you pass a 512-bit key without using XTS mode.