[FIXED JENKINS-18417]

FingerprintCleanupThread can now partially clean up a fingerprint record
by removing portions of it that's not referencing existing stuff.

(cherry picked from commit 216f5c6a45ed4f5e592817ed6192d5b5fc1dee24)

Conflicts:
	changelog.html
[FIXED JENKINS-19515] Try to avoid truncation of fingerprint storage files.
1. Use AtomicFileWriter on the hypothesis that an exception during save() caused truncation.
2. Improve logging from the cleanup thread since that may be related to the root cause.
3. Regardless of the cause, recover more gracefully by deleting any truncated file rather than throwing the error up.
(cherry picked from commit 7790dbcabfcfe3aeb8db54cf13673036e0548d34)

Conflicts:
	changelog.html
@Bug
(cherry picked from commit 2c23e643fac3efef98eec03b83adf735f07a2d62)
[FIXED JENKINS-15578]

The slave launch thread is another background thread, and it should run
like a super-user

(cherry picked from commit 4a71b011613f8e8c5a31b6b4dee66de43aa4f4dc)

Conflicts:
	changelog.html