block cipher decryption support

This is a squash of previous commits plus new ones. Ran into a pile of
conflicts during the rebase and decided this was an easier way to retain
a sane commit history
update docs to reflect new encryptor API
modified approach to encryption/decryption contexts
further simplify context objects
address review comments

* inline some methods
* refactor enc/dec classes
* modify docs