mandatory transactions for all calls to indexhits
fixing build
Make all rows in cypher results take the form {row:[...]}

This is in preparation of including graph structure information in the streamed result.
If each element in the stream contains information about what it contains, then the
stream can contain a heterogeneous set of elements. Not everything has to be a row
that conforms to the column format.
Support "graph" result data content in Cypher results.

This extracts the graph portion (nodes and relationships) from each result row
from Cypher. This is added as a "graph":{"nodes":[...],"relationships":[...]} object
on the same level as "row":[] in the "data" portion of returned results.

Both "row" and "graph" are two separate result data content elements, by default
only "row" is returned, in order to get "graph" along with "row", one specifies
a "resultDataContent" parameter along each "statement" in the request, with a
value of ["row","graph"]. This parameter is an optional list of content specifiers,
with a default value of ["row"], making it possible to only return "graph",
excluding the "row", should that ever be interesting.
Introduce TypeSet and AllTypes variant
Use TypeSet instead of Set[CypherType]