Ensures tx manager gets called in KernelTransaction#commit no matter what

Calling KernelTransaction#commit must end up calling transaction manager
commit/rollback so that the transaction will get finished properly.
This is done by having any operations done before it gets performed in a try
clause with the tx manager delegation in its catch/finally clause.
Merge pull request #1176 from tinwelint/2.0-shell-fail-rollbackonly-commit

Ensures tx manager gets called in KernelTransaction#commit no matter what
Removes the legacy parser
Moves testing of already used node and relationship identifier to the semantic checks
Adds semantic checks for shortestPath when used to CREATE
Fixes race condition

Test assumed index fully populated at a particular point, but made no
effort to make it so.
Made it more explicit that it's the we get the expected updates as recovery updates
Merge pull request #1182 from systay/no-legacy-parser

No legacy parser
Makes uniqueness an explicit, documented concern