1) Acorn: do not make snapshot if cancelCommit() is called
In some situations it is possible that when cancelCommit() is called
that acorn head.state writing writes nonsense due to
IllegalStateException being thrown from LRUObject.getStateKey()
2) Acorn: use a lock file to lock the current database
Use a lock file to prevent simultaneous usages of same database in Acorn
refs #6596
Change-Id: Ia33b90f85371c48154763f8a603cdce9a61d9ed6