(#7841) Always read SELinux module header as little endian

These are always little endian, but are currently being read as native
byte order, which obviously causes failures.
Explicitly fail on downgrades in the AIX package provider

Downgrades do nothing because the package is superseded by a newer
version, but still don't exit non-zero. The only way to downgrade is to
force the installation, which requires us to ignore dependencies. As
this isn't palatable, we now explicitly fail if we see that the
package was superseded by a newer version.

This also fixes an issue of using << vs. +=, which would cause the
resource's name to be modified during installation.
Merge remote-tracking branch 'nicklewis/aix-7841-selinux-little-endian' into aix

* nicklewis/aix-7841-selinux-little-endian:
  (#7841) Always read SELinux module header as little endian
Merge remote-tracking branch 'nicklewis/aix-package-downgrades' into aix

* nicklewis/aix-package-downgrades:
  Explicitly fail on downgrades in the AIX package provider
Merge pull request #1415 from jeffweiss/ticket/2.7.x/151_iconv_hates_aix

(AIX) Fix pson pure in 2.7.x for AIX.
(maint) RPM install should have --oldpackage

Prior to this commit, the RPM package provider would force the
`--oldpackage` option; however, older versions of RPM (i.e. 3.0.5 on
AIX) don't really like `--oldpackage` when you're doing an installation.
Rather than treat it as a NOOP, the older versions of RPM fail. This
commit changes the behaviour so that `--oldpackage` is only used when
the package is an up-/down-grade.

Sprintly: fix item:208