[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 <Permission> and a <String> 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