*  Extended status codes, so that we can tell the user
   exactly why we don't want to load a "supposed microcode",
   e.g. "extended table checksum is incorrect".

*  Optimize duplicates further ?
   - compare opaque microcode data, and merge pf_mask (and
     maybe even signatures, using extended tables) when the
     opaque data and common header metadata (date, versions,
     revision) are the same.

     - good way to test the kernel driver's extended table
       support, could not find any test vector.

     - good way to produce a test vector for our own extended
       table support code, which is currently completely
       untested.

     - sha256 of all opaque data available shows that the size
       savings would be rather minimal, thus not really worth
       the effort.

*  Compressor support (gzip, others) without the need for
   stdin tricks (gzip -dc file.bin.gz | iucode_tool -k -).
   VERY useful for .dat files, less so for .bin files.

*  Microcode selection:
   * select microcodes which were already installed in -K dir
   * select/unselect by signature+pfmask+revision

   * change code to actually be able to select and merge in
     a lossless way, would simplify things a lot.

*  error handling
   - return status when we skip a ucode?  when we skip a file?

* --overwrite: removes symlinks. Maybe it would be better to fail?

* use openat?
