Add batch flush for MySQL

This patch enables MySQL to use the batch flush functionality to alleviate
problems with Galera replication and large write sets.  Galera has a modest
size limit (1GB) on how large write sets can grow and this can be reached
fairly easily if you run expiration infrequently, or just have a high token
issue rate.

This also changes the mechanism to do batch flushes to a more portable
mechanism that does not require subquery support w/LIMIT.  MySQL does not
support DELETE with a subquery that uses LIMIT.  This patch changes the batch
flush mechanism to search for the oldest tokens and return the timestamp of one
that is `batch_size` from the beginning of the result set.  It will then delete
all expired tokens up to that timestamp.  It is possible that this will delete
somewhat more than the `batch_size` number of rows, but it is expect that it
will typicall be close to that number, and will effectively chunk the work into
roughly equal size batches.