Continue work on issue #2: use random padding.

It's expected that this change would cause tests to fail that depend
on exact offsets or lengths being recorded in the pad-records file.

* onetime
  (PadEncoder.__init__): Rename self.used to self._used.
  (PadEncoder.encode, PadDecoder.decode): Grab noise bytes,
    but don't use them yet.

* check.sh
  ("encode msg, where v1 pad entry has some range already used"):
  Make an error message more accurate.
Group errors together with their final failure message.

This isn't strictly about issue #2, but it happens to make testing
the fixes for that issue much easier, since the in-progress fixes make
so many tests fail and one wants to see the groupings more clearly.

* check.sh
  (check_result): If fail, print an extra blank line afterwards.
  (everywhere): Add an extra blank line before error messages, so
    they're easier to parse visually and so they're more grouped
    with their associated final failure line.
Fix Issue #2: Include pad-based fuzz, for message authentication.

* onetime
  (Pad.__init__): New self._begun flag variable.
  (Pad.convert): Take new format_version argument.
    Set the self._begun flag.
  (Pad.read): Remove; self._make_fuzz will handle this now.
  (Pad._make_fuzz): New function.
  (PadEncoder.__init__, PadDecoder.__init__): Remove self._used flag.
  (PadEncoder.encode): Remove fuzz code, as Pad handles this now.
  (PadDecoder.decode): Same, but pass format_version where needed.