- Changed the LuceneIndexRecoveryIT to expose the problem where recovery
would insert data so that it got duplicated in a lucene index.
- Fixed so that IndexAccessor gets a separate call when doing recovery
  instead of update()
Merge pull request #639 from tinwelint/index-recovery-issue

Exposes and fixes lucene recovery issue
Updated changelogs for 2.0
Fix for broken test
Merge pull request #641 from boggle/2.0

merges master
Update store version record in NeoStore when migrating to new store format.
Ensure that dynamic properties are loaded before creating NodePropertyUpdates.
Cypher checks if indexes are online before using them
Add ignored test that illustrates problems in PropertyPhysicalToLogicalConverter.
Only make records heavy once; don't try to load data from store if it hasn't been written yet.

- renamed makeHeavy() methods to ensureHeavy()
- moved checking of isLight() inside the ensureHeavy() methods and removed it from call-sites.
Remove usage of deprecated method for determining index state.
Removed debug code
Test for an edge-case where a property moves from one record to another
Executes schema rule commands after producing property updates to guard for a scenario outlined in the comments
Adds two more tests considered to be edge-cases. Nice-to-haves
This moves all write operations out of StoreStatementContext, and clarifies it's role as a read-only part of the stack.
Instead, writes are handed over to the old transaction infrastructure at the TransactionStateStatementContext, by it talking to TxState, which in turn delegates to PersistenceManager.
Merge branch 'master' into 2.0

Conflicts:
	community/cypher/src/docs/dev/general/introduction.asciidoc
	community/cypher/src/docs/dev/index.asciidoc
	community/cypher/src/docs/dev/ql/functions/index.asciidoc
	community/cypher/src/main/scala/org/neo4j/cypher/internal/executionplan/builders/TraversalMatcherBuilder.scala
	community/server/src/functionaltest/java/org/neo4j/server/WrappingNeoServerBootstrapperDocTest.java
Merge pull request #649 from jakewins/2.0-store-layer-dont-write

Move all write operations out of StoreStatementContext
Added check for in use in label scan, as well as an integration test to guard against regression
Preparing Cypher for new plan cache

o Added LegacyOperations to StatementContext for operating on legacy indexes.
o Refactored TraversalMatcherBuilder from a LegacyPlanBuilder to a PlanBuilder
o TransactionBoundPlanContext gets its StatementContext from the outside
o Implemented the ability for a QueryContext to upgrade to a LockingQueryContext.
o TransactionBoundQueryContext now takes it's StatementContext and Transaction from the outside
o Removed getTransaction from QueryContext