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
Removed single:// and ha:// prefixes in backup. They still work, but are not needed, and documentation do not mention them.
Do a store copy on join when there are no log files for the latest transaction.

I tried writing a test for this, but SwitchToSlave is hard to write tests for,
so the fix is provided without one.
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 pull request #2392 from rickardoberg/backupdeprecation

Removed single:// and ha:// prefixes in backup.
Correct location for javadocs in PDF for 1.9.x only.
Merge pull request #2411 from nawroth/pdf-javadocs

Correct location for javadocs in PDF for 1.9.x only.
Moving FileSystemAbstraction to org.neo4j.io
Move FS IO related files into the io.fs package
Move over more files to the IO module.
More moving of files into the IO module
in media res
Added license header