Update the pretty graph cookbook to use labels

This fixes the output graph that was incorrect because of an isolation bug
where you could read a deleted node in an open transaction.
Make kernel dependencies provided for the Cypher 2.0 compiler, so it can run against kernel 2.1 in the future
Fixed lifecycle handling during slave switch. No longer causes deadlock with concurrent shutdown of database.
Added predicate to wait for all instances to be joined when using arbiters
Merge pull request #1904 from jakub-/pretty-graph-cookbook-labels

Update the pretty graph cookbook to use labels
Merge pull request #1905 from systay/kernel-provided

Make kernel dependencies provided for the Cypher 2.0 compiler
Prevent execution of autocommit queries in open transactions

o Introduces TransactionInfo to clean up passing of tx and related objects to execution plans
Merge remote-tracking branch 'upstream/2.0-maint' into 2.0-autocommit