Redid some of the ignored UniqueIndexAccessorCompatibility tests in terms of UniqueConstraintCompatibility.

The populating IndexUpdater test, however, is not equivalent to the test it replaces, because our
pessimistic concurrency control seems to make some of those particular scenarios in the old tests,
impossible to hit through the public API.

The work of rewriting the tests is not yet done. This is just a step of the way.
Implement replacements for all the ignored index compatibility tests
Remove unused code from unique indexes.
Don't add a node to empty graphs in live console.
Increate test timeout hoping that it'll be less likely to fail on the virtual build servers.
Ensure LOAD CSV returns Collections of Strings
Add the toInt function
Add the toFloat function
Mention toInt in the LOAD CSV tutorial
Use CypherException for unexpected types in toInt, toFloat

For other kinds of errors, such as invalid strings, a standard IllegalArgumentException
will be thrown and Cypher will wrap it around in a CypherException as a cause.
Improve type checking
Add toStr() alias for str()
Return null for parse failures in toFloat/toInt
Make sure csv-file directory isn't created prematurely
Update CHANGES.txt
Folding and rewriting of ASTs
Replace fixed rewriteTopDown/BottomUp methods with Rewriter objects
Merge pull request #1921 from cleishm/ast-rewriting

Add rewriting to Cypher AST
Merge pull request #1944 from nawroth/2.0-maint

Don't add a node to empty graphs in live console.
Refactoring of CleanUpTask