WL#6742: Improve InnoDB SELECT COUNT(*) performance by using handler::records

Status: Complete

As a first step toward implementing WL#6605, where the committed record count of
a table is adjusted by transaction deltas, we need to use the handler::record()
call to return the record count to the optimizer instead of making it count
records itself.

PURPOSE
=======
1) Implement handler::records for InnoDB.  This task can be implemented
independently and checked into the trunk codebase separate from WL#6605.

2) Implement a count(*) testcase. This testcase will be needed to assure that
the new method of collecting count(*) numbers in WL#6605 is accurate. Only
records visible to the current transaction should be counted in count(*). The
accuracy of this change will most likely be correct since row_search_for_mysql()
is used to find visible records both before and after this change.

3) Improve general count(*) performance. This task also happens to improve the
cost of an in-memory table scan by about 20% since each record does not need to
be returned to the optimizer via the handler interface.  It effectively pushes
down the counting effort from the server into InnoDB.