Import expat-2.0.1
Upgrade Expat from 2.0.1 to 2.1.0 on the vendor branch
Merge branch 'vendor/EXPAT'
libexpat (libbsdxml): Upgrade from version 2.0.1 to 2.1.0

This is a security update.  Bug fixes since Release 2.0.1:
  #1742315: Harmful XML_ParserCreateNS suggestion.
  #2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
  #1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
  #1983953, 2517952, 2517962, 2649838:
            Build modifications using autoreconf instead of buildconf.sh.
  #2815947, #2884086: OBJEXT and EXEEXT support while building.
  #1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
  #2517938: xmlwf should return non-zero exit status if not well-formed.
  #2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
  #2855609: Dangling positionPtr after error.
  #2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
  #2958794: CVE-2012-1148 - Memory leak in poolGrow.
  #2990652: CMake support.
  #3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
  #3206497: Unitialized memory returned from XML_Parse.
  #3287849: make check fails on mingw-w64.
  #3496608: CVE-2012-0876 - Hash DOS attack.

New Features / API changes:
  Added new API member XML_SetHashSalt() that allows setting an intial
    value (salt) for hash calculations. This is part of the fix for
    bug #3496608 to randomize hash parameters.
  When compiled with XML_ATTR_INFO defined, adds new API member
    XML_GetAttributeInfo() that allows retrieving the byte
    offsets for attribute names and values (patch #3446384).
  Added CMake build system.
    See bug #2990652 and patch #3312568.
  Added run-benchmark target to Makefile.in - relies on testdata module
    present in the same relative location as in the repository.
libexpat: remove local modification

This was a modification added to implement CVE-2009-3720.
That CVE is included in 2.1.0, and this change was left over.
Remove the modification; there are now no differences from the
vendor branch.
Upgrade grep from 2.12 to 2.14 on the vendor branch
Merge branch 'vendor/GREP'
grep utils: Update from version 2.12 to 2.14

=== 2.14 Bug fixes ===
* grep -i '^$' could exit 0 (i.e., report a match) in a multi-byte locale,
  even though there was no match, and the command generated no output.
  E.g., seq 2 | LC_ALL=en_US.utf8 grep -il '^$' would mistakenly print
  "(standard input)".  Related, seq 9 | LC_ALL=en_US.utf8 grep -in '^$'
  would print "2:4:6:8:10:12:14:16" and exit 0.  Now it prints nothing
  and exits with status of 1.  [bug introduced in grep-2.6]
* 'grep' no longer falsely reports text files as being binary on file
  systems that compress contents or that store tiny contents in metadata.

=== 2.13 Bug fixes  ===
* grep -i, in a multi-byte locale, when matching a line containing a character
  like the UTF-8 Turkish I-with-dot (U+0130) (whose lower-case representation
  occupies fewer bytes), would print an incomplete output line.
  Similarly, with a matched line containing a character (e.g., the Latin
  capital I in a Turkish UTF-8 locale), where the lower-case representation
  occupies more bytes, grep could print garbage.
  [bug introduced in grep-2.6]
* --include and --exclude can again be combined, and again apply to
  the command line, e.g., "grep --include='*.[ch]' --exclude='system.h'
  PATTERN *" again reads all *.c and *.h files except for system.h.
  [bug introduced in grep-2.6]

=== New 2.13 features ===
* 'grep' without -z now treats a sparse file as binary, if it can
  easily determine that the file is sparse.