Rename CPIOERR_* to RPMERR_* as they are not all related to cpio or the archive
Move RPMERR_* inst new rpmarchive.h
Remove fsm->fflags
Rename rpmcpioStrerror to rpmfileStrerror and move it to rpmarchive.h and rpmfi.c

This makes the error codes part of the public API and allows using the new archive API.
Move archive handling functions into rpmarchive.h
Move the check for missing files to iterReadArchiveNext()
Add internal rpmfiFound() helper function to match rpmfiSetFound()

- Makes the if that little bit more obvious and since we have
  a function for setting...
Add python bindings + a testcase for the archive API

- Wouldn't be surprised in the slightest if various details here
  changed before an actual release, but its a start.
- Simple testcase showing spec file extraction from an src.rpm.
  Which also goes to show just how low-level our APIs are...
Eliminate bogus switch-cases from rpmReadSignature() returns

- rpmReadSignature() returns failure on NULL header anyway, so the
  "No signature available" message is not only misleading but also
  can never happen.
Grab and optionally return keyid from rpmpkgRead()

- No functional change here, but we'll need this in next steps as
  with a simple integer passed around we dont need to worry about
  freeing resources.
Move logging out of rpmpkgRead()

- Return error messages via retval argument, leave logging to caller.
  Actually simplifies things somewhat, and paves way for saner API
  wrt error messages - not all callers want rpmlog() spew.
Handle error logging centrally in rpmpkgVerifySigs()
Return error message instead of logging from parsePGPSig()

- rpmlog() messages might be appropriate for rpm cli, but not
  necessarily for other users/contexts
Eliminate filename argument from parsePGPSig()

- This is better done centrally in upper level callers...
Eliminate filename argument from rpmpkgRead()

- Better done in upper level callers...
Move newlines from error message strings to rpmlog() calls

- While the newlines are needed in rpm cli usage, other users
  might have other needs
Couple of missed newline conversions

- Should've been in commit 9c4bf14e299f758ca242b41c114d35cef62d9738
Drop signature header region trailer tag quirk

- AFAICT rpm never actually created signature headers with HEADER_IMAGE
  as region trailer tag, except when trying to sign V3 packages with
  old rpm 4.x versions (newer ones refuse to do so). This region trailer
  quirk doesn't actually make such packages work any better, they just
  fail in a different way (such as RhBug:517818)
Refactor header region sanity checking into a separate function

- The region checks for signature header and "regular" header are
  identical except for the tag used, this is an obvious pre-requisite
  for unifying those.
- This isn't supposed to change any behavior, so if something changes
  its likely a bug...
Use headerVerifyRegion() for signature headers too. Die copy-slop, die!

- This isn't supposed to change any behavior, so if something changes
  its likely a bug...