Refactor agent mechanism
Agent are now named and called when the
value returned is prefixed by name+colon.
For example, the agent 'me' receives the requests
'request' and the asked key for the rule:
* * * * me:request forever
Add the always available AGENT-AT implementation.
The AGENT-AT handles the value prefix @: to re-ask
the database with a query derived from the value.
Example: the rule
* * 1001 * @:%c:%s:OWNER:%p forever
if selected for the query key
{client=C, session=S, user=1001, permission=P}
will produce the evaluation of the key
{client=C, session=S, user=OWNER, permission=P}
The values @: are structured as 4 field separated
by colons (:). The sequences %c, %s, %u, %p, %%
and %: are substituted by client, session, user,
permission, % and :, with values coming from the
original request.
Change-Id: I7043845292f13f9c269a71cfabc4715330eaff34
Signed-off-by: José Bollo <jose.bollo@iot.bzh>