event_streamer: Made more resilient to errors.

event_streamer used to stop streaming on certain unrecognized
constructs. Changed all those situations to make it either increment an
error counter or transmit the error to the invalidator. This way, the
event streamer will not get halted permanently.
rowcache: improved handling of unrecognized statements

Moved the handling of unrecognized statements into a separate call
in query_engine. This allows query engine to make better decisions about
the table based on whether it's cached, etc.
I also found a bug in SchemaInfo.createTable: If a table with overrides
is altered, then the overrides need to be re-applied. Otherwise, things
will get very criss-crossed.
schema_info: symmetrically unset overrides on Close
binlog_conn_streamer: tweak timestamps, transactions

Many situations that were initially deemed as errors can happen. So,
it's better to accept them.
Also, we now transmit the timestamp as seen by the commit or rollback.
This will help more accurately track replication lag.
binlog_streamer: Treat naked statements as auto-commit

It's possible that naked statements are present without BEGIN/COMMIT.
So, let's treat them as auto-commit. This also means that the initial
statements we see will appear naked if the streaming was not started at
a transaction boundary, but it's not worth differentiating the two. The
most common case is a DDL that can show up as is.
binlog_conn_streamer: improved autocommit state change
Add benchmarks for file and connection binlog streamers.