Initialize all the name services we need

- A long time ago in a far away commit, "somebody" had this less than
  brilliant idea that calling gethostbyname() loads all the required
  name service libraries (commit 39b75d24cfe50e65ca940cc5466beb03c801d033).
  This is of course only true if hosts db happens to use the same
  database as passwd and group... which often is the case, but by
  no means guaranteed or always the case.
- Add an explicit initializer for rpmug to force loading the name service
  libraries early in initialization so we dont need to worry about going
  chroot later on. Of course, the "host" name service configuration might
  not actually make sense for the chroot, but this commit doesn't make
  that any worse than it already was.
Detect and fail build on more than one %files section per package

- Kinda related to ticket #27, although this particular case is not
  even mentioned there...
Detect and fail build on more than one %changelog section in spec

- One of the items in ticket #27...
Check for duplicate i18n tags in specs

- Check for per-package duplicate Group, Summary, Distribution, Vendor,
  License and Packager tags in specs. This is slightly tricky as there
  can be any number of different language variants present - see whether
  the number of strings in the tag itself or header i18n tag grew
  by adding something. If not, then its a dupe.
- Should close out remaining issues in ticket #27
Make addLangTag() internally available

- Just realized there was (at least) one more dupe-check missing...
Check for duplicate %description sections too

- Similarly to Group, Summary etc, this is complicated by possible
  presence of language-specific versions, but now that we have a
  function to handle it...
- Should *really* close out ticket #27
Use git index in %autosetup (RhBug:1059285)

- Without --index in apply, any file additions will not be committed and
  in case the patch contains *only* file addition the macro can fail
  completely (empty commit). With --index there's no need for -a in
  commit either.
Port %{load:<path>} macro from rpm5.org

- Allow loading custom macro files from eg specs. This is quite different
  from %include which inlines arbitrary content into a spec, but which
  cannot be used for including macro files as their syntax is entirely
  different. Both have their uses.
- rpm5.org also supports %load within macro files, we dont as I find the
  imperative %load very alien in what's otherwise an entirely declarative
  file "format"
Support macro file load from Lua too (similar in rpm5.org as well)