Added a function to change the current cryptor password
Made some cryptor functions const, so you can distinguish between
functions that modify critical data vs. functions that simply utilize the
encryption/decryption objects.

For example, changing the password is a non-const change, but encrypting
data is a const function because it doesn't change any externally-visible
members.
Revised the IV length to conform to NIST recommendations for GCM, and
explicitly declared a tag-size so we don't rely on the cryptopp defaults
never changing
Added some more nice features to the Cryptor. Now it has the ability to
authenticate data in addition to the data it encrypts.

Also now it allows you to salt the generated encryption key, so you don't
need to have a 1-1 mapping of passwords to encryption keys.
The bytes available function should be a pure virtual (returning -1 for a UINT
is bad code anyways)