Add a test-case for various %files manifest globbing scenarios

- In particular (aside from basics working) we're interested in
  the broken symlink behavior: at least glibc and Solaris have
  a weird glob() which doesn't return broken symlinks at all,
  yet we need to be able to package them (and that's why rpm
  carries its own copy of a differently broken, old glibc glob)
- Also test for directory-only match (RhBug:505995 cases)
Split rpmGlob() to a separate source file

- As a preliminary step to hiding our internal glob implementation,
  split our only glob() user to a source of its own.
Export our own version of glob_pattern_p() as rpmIsGlob()

- Further preliminaries to hiding the glob() implementation
Bury our glob() implementation entirely inside rpmglob.c (RhBug:819680)

- Lump glob.h and glob.c into rpmglob.c in all their g(l)ory libc
  decorations and make everything static to stop overriding system
  library symbols with our own glob().
Run indent -kr on the glob implementation

- rpm style isn't exactly K&R but close enuf for goverment work
  and prevent sore eyes now that this is a "real" part of rpm.
Eliminate unnecessary libc header typedeffery from rpmglob

- No doubt important bits in glibc but unnecessary goo for our
  internal implementation.
Remove __GNUC__ conditionals on variable sized local arrays

- We require a C99 compiler anyway so these conditionals are not needed
Eliminate mempcpy() related conditionals from rpmglob

- Provide a local copy of the trivial mempcpy() function so we can always
  use the shorter code-path, eliminate now unnecessary ifdef goo.
Eliminate getpwnam_r() and getlogin_r() uses from rpmglob

- We dont particularly care if rpmGlob() is thread-safe or not,
  just use the simpler code-path
We always have xstrdup() available, eliminate redundant alternatve
Eliminate shell interruptability hack in rpmglob
Eliminate VMS, MS-DOS, Windows and Amiga compatibility hacks in rpmglob

- We'll never run on these platforms, we just dont care...
Eliminate unnecessary glob portability fiddles

- Flags available to our internal glob implementation do not depend on
  posix/gnu/bsd defines
Call alloca() and stat() by their own names...
xmalloc() and xrealloc() never fail, remove redundant checks
Only use local mempcpy() if system libraries dont provide one

- Obvious yes, but how come this didn't barf on my other rather
  identical system? Meh.
Add valgrind suppression file

- valgrind is not happy about us now processing /proc/self/auxv on Linux,
  this can be used to suppress the false positives when running
  rpm under valgrind. At least until a better solution is found or
  valgrind is taught to treat /proc/self/auxv specially (see
  https://bugs.kde.org/show_bug.cgi?id=253519)
Fall back to using fsync() on systems without fdatasync()

- While fdatasync() is widely available on modernish systems,
  OS X doesn't have it
Add a set of macros to further automate spec %prep tasks

- This adds two main macros (+ bunch of helpers) to automate the
  common case tasks in %prep:
  1) %autopatch which automatically applies all patches from a spec
  2) %autosetup which (optionally) takes care of it all, and (also
     optionally) sets up a git/hg repository of the unpacked source +
     applied patches as it  goes.
- This should be considered a starting point only, there are various
  things to improve. Eg we'd like to be able to make backups
  with plain patch (based on patch number maybe) and at least with git,
  we'd like to be able be (optionally) use 'git am' patching style
  to preserve original authors + commit messages etc.
- A noteworthy point here is that as these are fully implemented as
  macros, they are compatible with several older rpm versions as well.
Add support for quilt (ticket #54) and bzr to %autosetup/patch

- These are both "appears to have roughly the intended effect" level
  tested, but I'm not really familiar with either bzr or quilt so
  any further refinements need to come from people actually familiar
  with these tools.