policy: add new types for tracking identifiers of consumers of policy
policy: add new types for tracking identifiers of consumers of policy

These types will be used in an upcoming commit to track which rules select which
endpoints within policy rules.

The two types are:

* IDSet: is a wrapper around a set of numeric IDs, with a mutex to protect
access.
* IdentityConsumer is an interface which describes anything which has a
unique node-local identifier, has a security identity, and has a policy
revision which can be incremented. This is currently implemented by the
Endpoint type in `pkg/endpoint`.

Signed-off by: Ian Vernon <ian@cilium.io>

cilium/cilium,tgraf/cilium,cilium/cilium,cilium/cilium,cilium/cilium,michi-covalent/cilium,michi-covalent/cilium,tklauser/cilium,tgraf/cilium,michi-covalent/cilium,michi-covalent/cilium,tgraf/cilium,tklauser/cilium,tgraf/cilium,tklauser/cilium,michi-covalent/cilium,tgraf/cilium,tklauser/cilium,cilium/cilium,cilium-team/cilium,tklauser/cilium,tgraf/cilium,cilium-team/cilium