Eliminate pointless fsm struct "goal" member + the enum

- These are either installs or erases as dictated by the transaction
  element type. So we might as well use that, and pass it around to
  the couple of places that care...
Eliminate plugins member from fsm struct

- We can trivially pass this around without dragging it in the struct...
Eliminate PSM_SCRIPT stage, just call runInstScript() directly...
Eliminate scriptTag member from psm struct

- Use arguments to pass arguments... not struct members
Eliminate PSM_TRIGGERS and PSM_IMMED_TRIGGERS stages

- Just calls the functions already...
Eliminate sense member from psm struct

- Use arguments to pass arguments... not struct members
Eliminate redundant psm countCorrection manipulation

- Just set it once in PSM_INIT, its value never changes after that
Pass count correction as argument to handleOneTrigger()

- Having to save and restore state before calling a function tends
  to suggest an argument is called for...
Eliminate unused PSM_CREATE and PSM_DESTROY stages
Turn psm db add and remove into regular functions

- These simply take ts and te as arguments ... and at this point one
  starts to wonder why are this in the psm anyway?
Consolidate install-time header additions to same place
Eliminate psm from runScript() args

- Just pass ts and te as those are all it needs...
Eliminate psm from handleOneTrigger() arguments

- Just pass ts and te, it doesn't need anything more now
Eliminate pointless and unused [n]stage foobar from psm
Eliminate pointless and unused PSM_UNKNOWN and PSM_UNDO stages
Add iterator to loop over the hard linked files in several different ways
rpmfiArchiveHasContent
Fix hard link handling

Make sure hardlinks are handled correctly even if some of them are skipped
Add rpm2archive utility for converting rpm payload to tar archives.

This is needed as the new payload format for large files is not compatible with
rpm2cpio which basically just dumps the payload which happened to be cpio.

Use configure parameter --without-archive to not build this tool and get rid of the libarchive requirement.
Only set file permissions etc once per hardlinked set, again. Argh.

- Commit 80f8bd747bba9d29df4105002ce7bfe301c6d54c broke this, again,
  due to this almightily stupid thinko...