Group based access controls

This modification to the cookbook allows for you to specify groups which are allowed to have access to the node. This works by adding two new attributes ('enable_access_controls' and 'allowed_groups'). The former is a Bool and the latter an Array.

By default access controls are disabled and the allowed_groups is empty, meaning we will add all users and we will not restrict any groups. Access controls will not be attempted if 'enable_access_controls' is false or 'allowed_groups' is empty.

The default attributes and behavior means that this change is not breaking, and will work as it did previously. Tests were also updated to reflect these changes.