Let the database page cache be injected into the store migration, so the participants don't have to create their own if need be.

Also reduced the memory consumption of a number of tests, and transitioned many tests to using the PageCacheRule, instead of the StandalonePageCacheFactory.
Fix flakiness: UniqueConstraintStressIT

The expected result set was not sufficiently large; specifically
creating the constraint can fail and cause some of the node creation
to fail as well, not due to a constraint violation, but due to a
concurrent schema creation on master. The old code had several
logical faults.

The slave transactions can also fail due to a ComException, due to the
RequestContext used for the lock-session on master already being
in use. This is a known and expected behaviour in itself, but it
is not really known why it occurs in this test since it only has one
thread doing slave transactions. The strategy so far is to catch
and ignore it, but it is probably worth investigating and explaining.
Test: UniqueConstraintStressIT: Add different order of operations.

Add three more tests with different order and timing of the operations.
Merge pull request #3533 from martinfurmanski/2.2-unique-constraint-stress-it

2.2 unique constraint stress it
StandalonePageCacheFactory changes

- Introduces a new StandalonePageCache interface which is AutoCloseable
- Make the StandalonePageCacheFactory return a StandalonePageCache
  implementation
- Updated all the various tools to use try-with-resources for their one-off
  page caches
Merge pull request #3518 from chrisvest/2.2-migration-page-cache

Let the database page cache be injected into the store migration, so the participants don't have to create their own if need be.
Don't let tests be affected by NTP syncing
Rename counts store files from 'neostore.counts.db.{alpha,beta}' to 'neostore.counts.db.{1,2}'