WL#2582: Handler interface to binary log

Affects: Server-7.1   —   Status: Un-Assigned   —   Priority: Medium

1. To make it possible and search the binary log. 
2. Makes it possible (in the future) to use XA over the binary log.
3. Make it possible to encrypt the binary log (if tables should be 
   encrypted in the future, then also the binlog should  be encrypted)

Add a handler interface on top of binlog.

We need to consider the following issues:

- Create a handler interface to the binary log
- Make the binary log a plug-in

The handler should support the following functionality:

- Appending an item (event) to the binary log
- Deleting an item in the binary log
- Update will not be supported

For the handlerton part, we need to extend the handlerton to handle the following:

- Notification of start and end of transaction
- Notification of start and end of statement
- Notification of row written/updated/deleted in a table

Open Issues

In this section, I just list a number of specific issues that need to be handled.

When starting a transaction, a flag is set for the thread, but nothing else is
changed. Specifically, there is no handlerton registered, but nevertheless the
binlog handler needs to be informed that a transaction has started.
Specifically, we need methods to: located the correct handler(s) to inform and
notify the handler(s) that the transaction has started. It is necessary to take
into consideration that the binary log handler can be loaded as a plug-in.