Add --replace testcase involving changing file policies

- We end up with owned files getting left behind as orphans in such
  situations (RhBug:966715), that's a FAIL but an expected one atm.
Bah, --ignorearch is required for the upgrade too

- Should've been in commit 3e0d09aac78264e80dae63cb1dd7cdddf62205b6
Fix build and sign module initialization in python3 (RhBug:1064758)

- PyInit_foo() name needs to match the module name. Doh.
Python 2/3 compat define for PyInt_AsSsize_t, used by rpmfiles
Fix signing module methods missing on python3, duh
Python 3 doesn't have nb_divide in PyNumberMethods
PySlice_GetIndicesEx() argument type differs between python 2 and 3, pooh
Build python 3 compatibile module names

- Python 2 accepts foomodule.so as an alias for foo.so, Python 3 does
  not. Build foo.so names which works with both...
Add return code to handleComments()
Warn on empty %files -f manifest files

- While there's nothing wrong with packages with no files, a manifest
  file with no files is likely to be an error or mistake of some
  sort and seems worth issuing a warning at least.
- Related to / inspired by ticket #870.
Don't match use or requires within a multi-line print statement

Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Make room for SHA224 in digest bundles. Doh.

- Should've really been in commit 20cfa7d2b4c927798ad38126821d194fafd93ffe
  but at the time NSS didn't even support SHA-224 so it was untestable.
  Now that it does, and somebody actually bothered to test...
  Fixes RhBug:1066494.
Rename RPMTAG_SUGGESTS, RPMTAG_ENHANCES and friends to RPMTAG_OLD*

This allows keeping this tags in use by distributions already using them while we add new ones for the upstream implementation of weak dependencies
Add tags for a new implementation of weak requirements
Add support for Recommends:, Suggests:, Supplements: and Enhances:
Add RPMTAG_RECOMMENDNEVRS, RPMTAG_SUGGESTNEVRS, RPMTAG_SUPPLEMENTNEVRS and RPMTAG_ENHANCENEVRS extension tags
Add --recommends, --suggests, --supplements and --enhances aliases to rpm -q
Use --recommends, --suggests, --supplements and --enhances in test case
Add a testcase for RhBug:1045723

- All the %bar macro invocations here should "obviously" behave the
  same, but they dont... in two cases a newline gets eaten out so
  this FAILS atm.
Dont eat newlines on parametrized macro invocations (RhBug:1045723)

- Makes the testcase from commit f082b5baa4dcf9601eeb1e0e520ff06e77dc61c0
  succeed. While the old behavior is non-sensical and most likely entirely
  unintentional, we're changing a very long-standing behavior here (tested
  back to rpm 4.4.x and almost certainly much much older than that) so
  its entirely possible people are actually relying on the old
  behavior. Lets see what breaks...