Added the ability to encrypt a Hash. Fixed dependency issues.

I needed to encrypt a hash, and through poking around the code determined that your rely on the object's #to_s to get the string representation. It would be nice if we did not rely on #to_s (in my case I think I would have preferred #to_yaml to avoid an eval), but it works.

I added documentation to the README to specify which Mongoid types are supported. I know that under the hood it's all just strings, but this is to support the gem user's mental model of encrypting a specific type of field.