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
Add a resolve method that caches provides locally
Fix a bug in SourceStack.hasTroves() that was breaking rmake resolver cache
files: only check for existence of prelink once
proxy: cache getChangeSetFingerprints calls

Previously only calls originated by the proxy as part of revalidating
cached changets would be memcached. Now fingerprint calls originated by
clients are also cached.
proxy: add memcache counters for cscache hits/misses
Define MIN implementation for Solaris (CNY-3859)
Switch to more portable os.setpgid.

Solaris creates a new session when os.setpgrp is called, use os.setpgid
instead.
Use INSTALL macro instead of calling install directly (CNY-3859)

Solaris does not use GNU install by default, instead it is installed as
ginstall. Add a macro to support overriding the install binary name.
Switch 'cp' to a MakeFile macro (CNY-3859)

GNU cp is installed as gcp on Solaris. Add a macro to override the
binary used for copying files.
Use SED macro for sed binary in Makefile