Provide marshal option to encrypt non-String objects

Lots of ways this could be architected, but in the spirit of 'it just works', I just decided to provide a single option (`marshal`) which, if set, uses a slightly different serializer that calls Marshal.dump and Marshal.load around the encryption/decryption methods.