AddressTrackerItem.longestGap: fix out-of-horizon check
AddressTrackerItem.longestGap: return -1 if all gaps are beyond horizon
AddressTrackerItem.receivePacket: use arraycopy to shift gapLength*

(System.arraycopy handles overlapping)
Merge commit 'da67d221f067d82162127460c14e4fa94cfa0a8c' into stable-1425

Conflicts:
	src/freenet/node/fcp/ClientPutDiskDirMessage.java
Merge commit 'd5ee5e9eb36feca5f856e1c7c5723adb8120f6ed' into stable-1425
Use SHA256.digest
Correct selection %s on friends/strangers pages

Prevent false visual warning about high selection rates causing backoff by including both opennet and darknet peer data in the totalSelectionRate.
Locking fix / minor optimisation: Call getNumberOfConnectedPeersToAim outside of locks, and cache it within methods where possible.
Delete unused methods.
Locking fixes: Synchronize on getting myPeers etc.
Low risk locking fixes for PeerManager (called only by freenet/node/simulator, always called by a thread main method etc).
Use logging infrastructure (trivial optimisation)
Run ARK inserter update off-thread.
Use for(:) loop instead of Iterator

Syntactic sugar only.
When formatting SEP-separated list, remove SEP out of loop
ClientGetter: reduce code duplication
ClientGetter: more paranoia against NPE
Rijndael: fix NPE without BC

This code was unnecessary and triggered NPE when BC was not loaded or
malfunction.
Off-by-one error in DSA benchmark (test-code only)
Add forgotten .clear in trimPersistentQueue

When preQueueSize > MAX_PERSISTENT_KEY, DatastoreChecker.trimPersistentQueue
cleared everything but persistentCheckerItems (likely corrupting
everything later).