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