Less complex branched data error messages.
Improved comprehensibility of database availability logging.

- We no longer use a counter for boot-strap availability, instead components
  mark themselves as blocking during startup, which means they will be included
  in the description of why the database is unavailable during startup.
Merge pull request #2689 from jakewins/2.0-brancherr

Less complex branched data error messages.
Merge pull request #2685 from jakewins/2.0-availabilitydec

Improved comprehensibility of database availability logging.
Removes VersionAwareLogEntryReader.writeLogHeader

There was one version of writeLogHeader in VALER and one in
 LogEntryWriterv1. They were exactly the same, so one had to
 go. Having a write method in a reader class is weird, hence the
 version that remains is in LogEntryWriterv1
Adds support for extracting store version descriptor for versions earlier than the last legacy
Adds 1.9 version database for upgrade tests
Adds ignored IT for migration from 1.9 and some supporting classes for the 1.9 store
Moves LegacyStore to Legacy20Store and in its own package
Renames 2.0 specific StoreFile and 1.9 specific LegacyNodeStoreReader as such
Final changes for migrating directly from 1.9 stores

Introduces the LegacyStore abstraction for reading from legacy stores.
 The existing 2.0 implementation is renamed as such and the 1.9
 version implementation is added and improved to have the same
 interface.
The check for the migration checks the version and instantiates the
 correct version legacy store.
Provides a more comprehensive 1.9 store to test upgrades
Fix a problem with upgrading the label stores from 2.0 to 2.1

Basically, the label store files that the batch importer produces cannot be used,
so for 2.0 we leave the exising files be. Yet we still have to remember to copy
the label store files over for 1.9.
Add the rsdr tool to help humans read store files for debugging
Remove left over messages.log file
Various cleanup in the storemigration code
Remove unused test that no longer compiled
Final fixes for upgrading 1.9 to 2.1

* Introduces an integrationtests top-level maven module, for tests that span
  across multiple modules and editions.
* Adds support and tests for upgrading stores that already have an
  upgrade_backup directory.
* Aside: rsdr now always shows the hexadecimal representation of records.
  I needed that for some debugging.
Fix a memory leak in RerferenceCache

The leak was caused by the fact that when inserting new data in the cache
noone is cleaning up the old GCed values still present in the cache.
Indeed the cleanup was triggered only by updating existing node which have
been GCed or at some extend by getting GCed values.

This PR also tries to improve the polling when during get/remove by looking
to the whole queue instead of just removing the single element.
Merge pull request #2695 from davidegrohmann/1.9-fix-leak-ref-cache

Fix a memory leak in RerferenceCache