Using new OPTIONAL MATCH when >= 2.0.0

To fix nigelsmall/py2neo#233 this patch (unfortunately) uses version sniffing to introduce the OPTIONAL MATCH syntax that is now required in Neo4j >= 2.0.0