[2.2] Remove iterator from itereateUntilConverged

Profiling indicates that a minor tweak in iterateUntilConverged leads to (minor) speed up of compiling.
Update Cypher query syntax to be compatible.
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.
Merge pull request #3278 from pontusmelke/more-profiling-changes

[2.2] Remove iterator from iterateUntilConverged
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
Ensure migration puts last tx id into new counts store