Port the DAISY 2.02 validator from Pipeline 1

Validations made in the DAISY 2.02 Validator Pipeline 2 script:

 * check that all references in and across documents are valid
 * check that only these kinds of files are present:
   application/xhtml+xml, text/html, application/smil+xml, audio/mpeg,
   audio/wav, image/jpeg, image/gif, image/png or text/css
 * check that SMIL-files conform to d202smil.rng (or d202msmil.rng for
   master.smil)
 * check that the NCC conforms to d202ncc.rng
 * check that the heading hierarchy in the NCC and content files are
   correct (no levels are skipped)
 * NOT IMPLEMENTED: inform whether MP3 files has ID3v2, and warn if
   the file is mono (single channel) or uses variable bit rate (VBR)
 * NOT IMPLEMENTED: compare audio duration with info from SMIL files
   and NCC totalTime (this was not implemented in DP1 either it seems?)
 * inform if SMIL audio clips are missing clip-begin or clip-end
   attributes
 * check that the SMIL metadata "ncc:totalElapsedTime" and
   "ncc:timeInThisSmil" values add up correctly, with a
   `timeToleranceMs` margin for error
 * check that the SMIL time values add up correctly to the NCC metadata
  "ncc:totalTime", with a `timeToleranceMs` margin for error