Change the way the 'OPTIONAL MATCH' has to be generated

The way I implemented optionalMatch in the cypher class didn't allow to have multiple consecutive optional match clauses.

So I changed it and updated the test.