Respect the bucket read lifetime semantics within aggregate buckets.
Respect the bucket read lifetime semantics within aggregate buckets.

Previously, when performing ->read_iovec for an aggregate bucket, we would call
->read on a bucket multiple times without returning to our caller - that's a
no-no as data could be lost.

* buckets/aggregate_buckets.c
  (read_aggregate): Change into returning multiple buckets if possible and
  correctly honor read lifetimes by only reading more if we hit EOF on the
  previous bucket.
  (serf_aggregate_read, serf_aggregate_read_iovec): Give read_aggregate an
  iovec.

jandre/serf,jandre/serf,jandre/serf,jandre/serf