Bukkit/Bukkit — pull request #879 by frymaster (2013-06-06 13:45:31+00:00)
Title: [B] Add bulk permissions operations.  Adds BUKKIT-426

##### The Issue

Currently PermissionAttachments only allow the changing of one permission at a time, recalculating the Permissible's permission cache from scratch each time. This can be non trivial when many permissions are registered and many permissions need to be altered.

##### Justification and breakdown

This PR adds three methods enabling bulk changing of permissions. ````addPermissions```` adds new permissions (or alters existing ones) from a map, ````setPermissionsTo```` explicitly sets the permissions of the attachment to the supplied map, and ````unsetPermissions```` removes permissions specified in a list.

##### Relevant PR:

This builds upon @Evenprime's PR #466 (though note that implementation is missing the ````this```` keyword and so never adds the permissions to the attachment) and also adds the ````setPermissionsTo()```` method.

##### Potential improvements

It is not possible to have both a and a version of these methods with the same name, as the method signatures would be identical (Object). Like @Evenprime I felt that the String methods were more useful; if both String and Permission versions are desired, I would appreciate guidance on how to name both sets of methods.

##### JIRA Ticket:
BUKKIT-426 - https://bukkit.atlassian.net/browse/BUKKIT-426