code: def add_email_grant(self, permission, email_address, headers=None):
          
          policy = self.get_acl(headers=headers)
          policy.acl.add_email_grant(permission, email_address)
          self.set_acl(policy, headers=headers)
docs: Convenience method that provides a quick way to add an email grant
          to a key. This method retrieves the current ACL, creates a new
          grant based on the parameters passed in, adds that grant to the ACL
          and then PUT's the new ACL back to S3.
  
          :type permission: string
          :param permission: The permission being granted. Should be one of:
                             (READ, WRITE, READ_ACP, WRITE_ACP, FULL_CONTROL).
  
          :type email_address: string
          :param email_address: The email address associated with the AWS
                                account your are granting the permission to.
  
          :type recursive: boolean
          :param recursive: A boolean value to controls whether the command
                            will apply the grant to all keys within the bucket
                            or not.  The default value is False.  By passing a
                            True value, the call will iterate through all keys
                            in the bucket and apply the same grant to each key.
                            CAUTION: If you have a lot of keys, this could take
                            a long time!