bootstrap: use the iterator interface to read the log
bootstrap: use the iterator interface to read the log

This uses the new log entry reader interface when replaying the log
during tablet bootstrap. Per the previous commit message, this makes
more effective use of allocator and CPU caches, so provides a bit of
a speed-up.

Before:
  Time spent bootstrapping tablet: real 3.825s       user 1.448s     sys 1.000s
  Time spent bootstrapping tablet: real 4.340s       user 1.480s     sys 0.988s
  Time spent bootstrapping tablet: real 7.438s       user 1.456s     sys 1.080s

After:
  Time spent bootstrapping tablet: real 5.563s       user 1.092s     sys 1.172s
  Time spent bootstrapping tablet: real 5.931s       user 1.172s     sys 0.976s
  Time spent bootstrapping tablet: real 8.050s       user 1.188s     sys 1.192s

(ignore the 'real' time here, which is mostly based on the inconsistent IO
performance of my laptop SSD, and instead focus on the 'user' time)

CPU time is reduced by about a third. In multithreaded bootstrap scenarios,
this is likely to have a more dramatic impact by reducing contention on the
allocator's central free list.

Change-Id: I31075a887d591071386c448d6e8769f92238bb07
Reviewed-on: http://gerrit.cloudera.org:8080/3039
Tested-by: Kudu Jenkins
Reviewed-by: Adar Dembo <866ca730bfc7f544e3ebce604ceeba4879f23df0@cloudera.com>

cloudera/kudu,EvilMcJerkface/kudu,cloudera/kudu,cloudera/kudu,EvilMcJerkface/kudu,helifu/kudu,helifu/kudu,InspurUSA/kudu,andrwng/kudu,helifu/kudu,cloudera/kudu,helifu/kudu,andrwng/kudu,InspurUSA/kudu,InspurUSA/kudu,andrwng/kudu,helifu/kudu,helifu/kudu,EvilMcJerkface/kudu,helifu/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,cloudera/kudu,InspurUSA/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,helifu/kudu,EvilMcJerkface/kudu,cloudera/kudu,andrwng/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,andrwng/kudu,andrwng/kudu,InspurUSA/kudu,helifu/kudu,cloudera/kudu,EvilMcJerkface/kudu,andrwng/kudu,cloudera/kudu