Get real head fuzz working, for issue #2.
Get real head fuzz working, for issue #2.

NOTE: Tests not adjusted yet, since we'll just have to adjust them
again when tail fuzz is implemented.  However, this commit makes
things no worse than they were, as all the tests that count exact pad
usage were failing before this commit anyway.

* onetime
  (PadSession.__init__): New fields self._amount_left_to_skip and
    self._tail_fuzz_length_source.
  (PadSession._get_pad_bytes): New method.
  (PadSession._make_fuzz_length_from_pad): Return source bytes along
    with calculated length.  Clarify error about short pad.
  (PadSession._make_inner_header): Return everything, including fuzz.
    Improve comment about fuzz and pad consumption.
  (PadSession._handle_inner_header): Skip as much fuzz as possible,
    and return both the remaining string if any and the amount left to
    skip, so the caller can finish the job on future calls if needed.
  (PadSession.convert): Handle all the new inner header stuff.

kfogel/OneTime,kfogel/OneTime