REST transactions: error handling.

o Serialize stack trace for internal errors.
o Reorganised error codes.
o Renamed Neo4jError subclasses to match StatusCode names.
o Renamed Neo4jError.Code to StatusCode.
o Stop Neo4jError extending java.lang.Exception.
o Explicit functional test for response format for cypher syntax errors.