Added await condition on startup
Restructurings around PrimitiveLongIterator.

Replace generic constructs (map/filter) that were use in only one
place with concrete implementations of their behaviour. This is
actually a further optimisation as well, since it leads to less
indirection (only lookup a field, instead of a field of a field) and
fewer objects created. In terms of code amount and clarity it is also
less and clearer code, since the generic constructs were only used for
a single purpose each.

Extract a PropertyKeyIdIterator, since that behaviour was implemented
in five different anonymous classes.

+ some cleanup based on Intellij warnings.
Introducing FacadeMethod and AbstractMandatoryTransactionsTest to reduce code duplication in tests
Minor cleanup

Removes unused field in Protocol
Server no longer extends Protocol, instead static imports needed methods from there
DechunkingChannelBuffer.readAndThrowFailureResponse() no longer returns Throwable and the corresponding
 usage is now gone
Fixes compilation failure from previous commit
Adds test for a race condition that results in inverted flush order between PersistenceRows and PersistenceWindows
Fixes issues with PersistenceRow being flushed more than once

PersistenceRow was not marked as clean when contents were flushed. This is now tested
 by unit tests and fixed.
Minor formatting fixes.
Makes PersistenceWindowPool.REFRESH_BRICK_COUNT package protected to be used by tests.
Make AbstractMandatoryTransactionTest use EmbeddedGraphDatabaseRule
A simple neo4j desktop app

o Launches one neo4j server database inside the JVM pointing to a database
  of choice.
o Build one uber-jar of everything.
o Ability to tweak heap size of the launched JVM (requires restart)
o Ability to tweak database properties (uses <dbDir>/neo4j.properties convention for now).
o Support for server extensions, looks at extensions/*.jar
o Also added GUI to configure which packages contain resources, and
  should be mounted by the server.
o Added system tray integration:
  If the window close button is pressed and the database is stopped then the
  Neo4j Desktop app is shut down fully.
  But if the database is in any other state the app is just minimized to the
  tray, and a click on the tray will reveal it again. This is the simplest
  possible integration to start off with.

author: Mattias Persson
author: Alistair Jones
author: Lasse Westh-Nielsen
Test that no method on schema is called outside a transaction

o Introduce MandatoryTransactionsForSchemaTests
o Test that schema may not be obtained outside of a transaction
o Class renaming for brevity
Tests for enforcing mandatory transactions on interfaces returned by calls on Schema (@Ignore'd for now)
Update to BatchInserter docs based on client feedback
Fixed hanging HaLoggingIT test
More explicit pre-test conditions
mandatory transactions for all calls to beans APIs' indexmanager
Merge pull request #998 from lassewesth/mandatorytransactionsforindex

mandatory transactions for all calls to beans APIs' indexmanager
Ensure that using GlobalGraphOperations requires to be inside a transaction
Merge branch '1.9-maint'
Ensure that using Constraints requires to be inside a transaction