WL#3771: Pluggable Audit Interface

Affects: Server-5.5   —   Status: Complete

RATIONALE
Make it possible to log server "events" (using a customizable plugin).
"Events" include things like a) queries executed, b) query errors, 
c) summary of result set.

SUMMARY
Declare a new kind of plug-in to handle audit events. Audit plug-ins are able to 
specify a subset of classes of events that they wish to receive.

The scope of this task is to:
* Provide an abstract interface for audit plug-ins.
* Provide the mysqld implementation of the interface.

It is not expected that any audit plug-ins are to be created as a result of this 
worklog other than the minimum example required to demonstrate the proper 
functioning of the interface.

As part of the mysqld implementation of the interface, it is expected that:
* minimal intrusion within the existing code.
* minimal runtime costs: Benchmark result differences should be indiscernible
from noise.

Further worklogs shall be created for optional log plug-ins as required.