Updates to support EncryptedType in more scenarios

Various small updates and fixes in the course of using `EncryptedType` (with most column types).  Just want another pair of :eyes: if you could.

-----

Also made the `EncryptedType` accept a callable for its key (so it could change per row if it needed to).