Introducing GraphDatabaseService.execute(...)

Enables executing cypher queries without having to keep track of an ExecutionEngine instance, instead the database keeps the ExecutionEngine internally.
It would be really nice if we had a public way for the user to programatically get more details from this exception.
One idea would be to expose the [Status codes](https://github.com/neo4j/neo4j/blob/master/community/kernel/src/main/java/org/neo4j/kernel/api/exceptions/Status.java), the only problem with that is that they (AFAIK) are not part of our official public API. Perhaps they should be turned into public API? Or should we expose the string error code that they represent from a method in this exception class?

I would say this needs to be solved before next release, and solving it before merging this PR is a good way to remember to solve it before the next release.