Use locking because remove() method not supported on COW iterator
Create a file build-revision containing the HEAD git revision tag and
include it in the final JAR file.
ignore build-revision file
add method getBuildRevision() which returns contents of build-revision
file embedded in Orchid JAR and method getFullVersion() which appends
build revision value to version string.
Log message when starting containing full version string.
Prevent multiple loading of cache files and improve logging.
Avoid resaving consensus loaded from cache
Save cached network information first to a temporary file to avoid races which corrupt cache files
On Windows renameTo will fail unless file is closed.