Dev/smack

This patch series adds support for "group enforcement", which has implications for various buxton actions:

* set_value - (a) keys cannot be created unless the group exists and clients have write access to that group, (b) keys cannot be modified unless the group exists and clients have write access to both group and key.

* get_value - key values cannot be fetched unless clients have read access for both group and key.

* unset_value - same as set_value, case (b)