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
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
Merge pull request #2515 from chrisvest/2.1-updatepuller-behave

2.1 updatepuller behave