[2.2] Remove iterator from itereateUntilConverged

Profiling indicates that a minor tweak in iterateUntilConverged leads to (minor) speed up of compiling.
Tweak for number of files opened by Lucene
Update Cypher query syntax to be compatible.
Removes message receive code from NetworkSender, as it's useless

The removed code also, sometimes and for so far unknown reasons, would
 trigger on messages received from self and throw ClassCastExceptions
 as the payload would not be a Message but a HeapBuffer.
Issue kernel panic in case of failure to apply

just like the commit process does.
Uses update puller thread for catching up with master

before dropping the availability guard. Changes to make this behaviour
happen:
- UpdatePuller listens only to masterIsElected events and pauses
  the thread for every such event
- UpdatePuller does not unpause itself on slaveIsAvailable, because that's
  too late. Instead SwitchToSlave does the unpause after HA
  comminunication has been started and just before dropping the
  availability guard.
- UpdatePuller doesn't check for availability, that's a concern of the
  UpdatePullerClient only.
Made DistinctPipe into a RonjaPipe
Merge pull request #3278 from pontusmelke/more-profiling-changes

[2.2] Remove iterator from iterateUntilConverged
Allow Ronja to use lazy distinct when possible
Merge pull request #3288 from oskarhane/update_internal_rel_query

[2.2] Browser: Update Cypher syntax to be compatible with recent changes.
Merge pull request #3285 from tinwelint/2.2-catchup-race-fix

[2.2] Fixes race for slave catching up to master
Add counts store to NeoStoreFileListingTest
Increase slave commit batch size to reduce effects of forcing
Introduce StandardStore, similar to the The One Ring, a store to rule them all.

StandardStore implements and coordinates the infrastructure of being a store,
startup/shutdown logic and a common base interface for all stores. It takes as
input a store-specific format specification (StoreFormat), which describes how
to read and write records and any store headers.

The Store provides a cursor to navigate records, which may be augmented by the
StoreFormat to provide non-standard operations, like reading record fields
directly as opposed to deserializing full records.

This commit contains two store format implementations, NodeStoreFormat and
RelationshipStoreFormat.

The new stores are not plugged in, and so this commit does not change any live
part of the code base. It is meant as a first step, and a pause point to peer
review the current state of the code.

Remaining work, in proposed order:

o Plug new stores in to run side-by-side with existing stores, with existing
  stores remaining in charge of startup/shutdown procedures.
o Implement RecordTraversalLogic for expand() operation
o Implement all other store formats
o Move all code over to use new stores
o Make new stores responsbile for startup/shutdown and similar infrastructure
o Remove old stores.
Temporarily disable perty
Remove leftover println from ProfilerAcceptanceTest
Ensure migration puts last tx id into new counts store
Merge pull request #3291 from digitalstain/2.2-remove-sender-receive

[2.2] Removes message receive code from NetworkSender, as it's useless
Add test for counts propagation in HA
Make sure that the StandardStore truncates the store file before mapping it with the page cache.

Also some assorted formatting changes that crept in.