Dns_server.AuthenticationAuthentication, stored in a Dns_trie with privileges to operations embedded in the name.
A key is a pair of a `raw Domain_name.t and a Dnskey.t. In the name, operation privileges and potentially IP addresses are encoded, e.g. foo._transfer.example.com may do AXFR on example.com and any subdomain, e.g. foo.example.com.
The type of operations, sorted by highest ot lowest privileges, an `Update may as well carry out a `Transfer.
val operation_to_string : operation -> stringoperation_to_string op is the string representation of op.
val all_ops : operation listall_ops is a list of all operations.
access_granted ~required key_operation is true if key_operation is authorised for required operation.
val zone_and_operation : 
  'a Domain_name.t ->
  ([ `host ] Domain_name.t * operation) optionzone_and_operation key is Some (zone, op), the zone of the key, and its operation op. If the key is not in the expected format, None is returned.
val access : 
  ?key:'a Domain_name.t ->
  zone:'b Domain_name.t ->
  operation ->
  boolaccess op ~key ~zone checks whether key is authorised for op on zone.