Fix Windows path handling in unit tests
Move status codes for Cypher exceptions to Cypher exceptions
Make ast.Query a concrete class
Move CSV handling to QueryContext

We want to consolidate access to the outside world
behind this facade. That makes it possible to handle
freeing of resources in QueryContext's, instead of
having multiple places remember to clean up state
after a query is finished.