WL#5817: Create interface for replication filters

Affects: Server-5.5   —   Status: Un-Assigned

This is a step towards making replication a library, such that the 5.6 rpl-
lib can be plugged into the 5.5 core [WL#5675].

Replication filters need to be defined in rpl-lib and accessed from core. The 
purpose of this worklog is to define a minimal interface for this.

TODO: design this
 - We use replication filters in the core functions change_password(),
   mysql_table_grant(), mysql_routine_grant(), mysql_grant(), and
   open_grant_tables() in sql_acl.cc; in all_tables_not_ok(), db_stmt_db_ok()
   in sql_parse.cc.

 - Replication filters should be part of rpl-lib. In which part of rpl-lib
   should replication filters be defined?
   Preliminary decision: The core needs to check both binary log filters and
   slave filters. We should define two identical sets of functions, one that is
   part of the Binlog class and one that is part of the Slave class.

 - How much of the filters should be handled by the module: should rpl-lib
   expose an interface to add and remove filters, or should filters be entirely
   managed by rpl-lib?
   Preliminary decision: It may be a useful feature in the future to expose
   general-purpose filters as a separate class. However, it is not currently
   needed in order to make 5.6 rpl-lib link to 5.5 core. So we will not expose
   such interfaces now.