Get inner headers working.

Test suite adjustment remains, but this passes basic tests.

* onetime
  (Pad.__init__): Set default fuzz source length and modulo here.
  (Pad.InnerFormat): New exception class.
  (Pad._make_fuzz_length_from_pad, Pad._skip_bytes): New helper methods.
  (Pad._make_inner_headers): Renamed to...
  (Pad._make_inner_header): ...this; all callers changed.  Rewrite to
    calculate the inner header in the new way and return it.
  (Pad._handle_inner_header): New method.
  (Pad.convert): Handle generating and reading inner headers.
  (main): Say more possibilities in the decoding error message.

* check.sh: Adjust expected outputs.
Make test suite pass with new inner headers.

* onetime
  (PadDecoder.decode): Wrap certain exceptions in DecodingError.
  (main): Catch PadDecoder.DecodingError to remove output file.

* check.sh: Adjust expected outputs.
Call internal format "internal", not "modern".  Enforce it more.

* onetime:
  (Format_Level): Change to "internal".  Replace "modern" with
    "internal" wherever appropriate in code and comments.
  (PadDecoder.decode): Undo exception-wrapping of commit e62d3104ec5.
    Instead we will catch all expected exception types in the caller,
    because Python 2.x doesn't have true exception wrapping.
  (Pad._handle_inner_header): Enforce values in first flag byte.
  (main): Adjust for exception changes in PadDecoder.decode.

* check.sh: Adjust for above exception change.
Settle on "fuzz" as the canonical term for skipped distance.

* onetime (Pad._make_fuzz_length_from_pad): Explain fuzz.