Moves Primitive#*property operations into kernel API

o Introduced AuxStoreOps
o Integration between PropertyData and Property
o Merged the two caches so that NodeImpl/RelationshipImpl is used for all
  caching, even for labels. Closing in on a complete move.
o Makes sure PropertyData#getId() isn't use as it cannot be trusted anymore
o Lock acquiring changed, from 2 to 1 when doing f.ex. a node.setProperty.
  Whether that is OK or not TestPropertyCachePoisoning and TestPropertyDataRace
  should be able to tell when unignored and potentially rewritten
o Plugs in legacy auto-indexing into the KernelAPI
Missing store file throws specific exception so that it can be treated the same way as a mismatching store version... namely to try and upgrade
Merge pull request #839 from tinwelint/2.0-remove-properties-from-primitive

2.0 remove properties from primitive and into Kernel API
Typos.
Fixes #844 - Label predicate do not work on optional nodes that are null
Improved cluster startup wait conditions
Minor code formatting changes.

Based on PMD UselessParentheses warning.
Updates change logs
Adding first iteration of CypherDoc and first use of it in the manual..
Revert "Adding first iteration of CypherDoc and first use of it in the manual.."

This reverts commit b66f23f633195bd9e88a4c5874b46d8c11b5acf7.
Adding first iteration of CypherDoc and first use of it in the manual. Now using absolute file paths.
Merge pull request #864 from nawroth/cypherdoc

Adding first iteration of CypherDoc and first use of it in the manual.