Changes lifecycle of Neo4jJobScheduler

Neo4jJobScheduler created and destroyed its expensive resources
 in start() and stop(), respectively. This is generally something
 that must happen in init() and shutdown(), while the actual operation
 and use of those resources should be controlled in start()/stop(). This
 meant that users of the scheduler that created jobs in their init()
 method would get NPEs. This is now changed and it is safe to add
 jobs in the scheduler once it's init() has been called
Merge branch 'master' into 2.1-updatepuller-behave
Ensures update pulling is not performed by the master instance

The update pulling thread would not listen to instance state changes,
 which could lead up to the master instance pulling updates
 from itself. While that is not dangerous, it complicates things
 unecessarilly, what with an extra thread running and unecessary
 load created. This commit makes the update puller listen to
 changes in the instance state and start/stop as required.
Adds test for newly introduced behaviour
Merge branch 'master' into 2.1-updatepuller-behave

Conflicts:
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/com/master/MasterImpl.java
	enterprise/ha/src/test/java/org/neo4j/ha/TestSlaveOnlyCluster.java
	enterprise/ha/src/test/java/org/neo4j/ha/TransactionConstraintsIT.java
Merge branch 'master' into 2.1-updatepuller-behave
Makes pullUpdates boolean flag in UpdatePuller volatile

UpdatePuller.pullUpdates is read and set by multiple threads, so it
 needs to be volatile
Merge branch 'master' into 2.1-updatepuller-behave

Conflicts:
	community/cypher/cypher/CHANGES.txt
	community/embedded-examples/src/docs/dev/setup.asciidoc
	community/embedded-examples/src/docs/dev/social.asciidoc
Merge branch 'master' into 2.1-updatepuller-behave

Conflicts:
	enterprise/ha/src/test/java/org/neo4j/ha/TestSlaveOnlyCluster.java
Merge remote-tracking branch 'origin/2.1-updatepuller-behave' into 2.1-updatepuller-behave
Re-enable index support for IN queries
Improved intro text
Add test for missing operators: apply, node outer hash join

o sevaral fixes in PlanQueryTest
Merge branch '2.1-maint' into 2.1-updatepuller-behave

Conflicts:
	community/cypher/cypher/CHANGES.txt
	enterprise/ha/src/main/java/org/neo4j/kernel/ha/HighlyAvailableGraphDatabase.java
Have the pipe understand IN index seeks
Merge pull request #2515 from chrisvest/2.1-updatepuller-behave

2.1 updatepuller behave
Convert IndexLeafPlannerTest to LogicalPlanningTestSupport2
Move test between test files
Change from QueryExpression to QueryExpression[T]
Change NodeIndexSeek and NodeUniqueIndexSeek to use QueryExpression
Merge pull request #2513 from davidegrohmann/execution-plan-docs

Improved execution plan docs