build: no longer copy forward keyValue metadata (CNY-3854)
Add JsonUpdateCallback (PLN-485,CNY-3855)

Adds a new UpdateCallback class that produces json-formatted output.
Adds a '--json' flag to system managment commands that update packages
to turn on the new callback.
Disable commitRelativeChangeset by default (CNY-3856)
Add missing json import to testsuite
conarycfg: speed up parsing of server globs (CNY-3857)
Fix tests impacted by ServerGlobList changes (CNY-3857)
Add support for LZO-compressed files
Use native lzop instead since centos is missing lzop.i386
Preserve case of server glob entries
Add nonzero slot to ServerGlobList
2.5.3
Fix permission error updating with 'dbPath :memory:'
Fix UnknownDependencyFactory getting called every time any dep is thawed
Consolidate some os.write() calls in journal
Simplify RegularFile.restore() considerably

This pulls some syscall code out of sha1Uncompress that was also
duplicated in restore(). The overhead of setting up a try: block in
Python is trivial next to the syscall itself so there's no reason to
push the file manipulation code into C when the bulk of the time is
spent doing uncompress/digest operations.

Also removes an unnecessary file copy when updating hardlinks. It seemed
to have been done that way to fix a bug without touching sha1Uncompress,
but making a hardlink "copy" should work perfectly fine.

Finally, the pure-Python implementation of sha1Uncompress is removed
because it serves no purpose when RegularFile.restore() already has a
more general fallback implementation.
Relax testPtrFileChangesContent to fit a more realistic use case

Previously the test mangled a file in place during an update. Now it
replaces it with a new file using rename(). The original scenario that
the test was developed to validate seemed to be:

1. A .pyc and .pyo file have same content
2. In the update changeset .pyo points to .pyc
3. Another python process imports the new .py in the middle of the
   update which causes a new .pyc to be written out
4. Conary attempts to install the .pyo by copying the .pyc but it's been
   replaced with a different one and the SHA-1 check fails

The changes to sha1Uncompress in the commit preceding this one mean that
instead of duplicating the .pyc immediately, we instead make a hardlink
and later copy the pointer files from that.  This means that mangling
the first file will still cause a SHA-1 error, but replacing it with a
new file (as Python does) will work because it breaks the hardlink. This
seems like an acceptable tradeoff.
add script for generating apponly archives (APPENG-2798)
Fix iterRawDeps() varying by whether the dep was thawed or not
deps: add thawRawDep function
deps: add DependencyMatcher