Do id freeing on rollback

This PR fixes so that transaction rollbacks free up the node and relationship id's that were allocated during the transaction. They will only be reused on restart though, as before.
This test does not check for dynamic records being released properly. Judging by the code here:

https://github.com/neo4j/neo4j/blob/master/community/kernel/src/main/java/org/neo4j/kernel/impl/nioneo/xa/NeoTransactionRollbackHandler.java

This is something that should happen on rollback, right?