WL#5816: Use one interface to write statements to binary log

Affects: Server-Prototype Only   —   Status: On-Hold   —   Priority: Medium

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].

Currently, the server writes statements to the binary log in two different ways  
in different parts of the code:
 - call binlog_query()
 - create Query_log_event, call MYSQLBINLOG::write(Query_log_event), and 
possibly
   call issue_unsafe_warnings()

In this worklog, we replace all this by one single call to 
Binlog::log_statement().

The following places need to be updated:
 sp_head.cc:execute_function()
 sp_head.cc:execute_procedure()
 sql_base.cc:close_temporary_tables()
 sql_db.cc (5 places)
 sql_base.cc:close_temporary_tables()

We also remove the external declaration of MYSQLBINLOG if possible; i.e., if 
core does not depend on any other members of MYSQLBINLOG.