post save hook for decrypts documents

fix(save): post save hook to decrypt document

When saving an object, current implementation calls the save callback with the
encrypted mongoose document. This means that if you need to use that document
right afterword, you have to decrypt it. A better implementation is to decrypt
the document after save using a post save hook. This changes implements the
hook with tests.

No breaking changes. Now you no longer need to decrypt after save.

closes waffleio/waffle.io#1354
The tests verify that this works for embedded docs where the parent doc does not have the `encrypt` plugin.  The function goes through all embedded docs regardless of whether or not the parent doc has the plugin and the post save hook for embedded docs is registered on the parent