Make autoclose easier to understand, more consistent and more testable

 - Move transaction state transition logic to TransactionStateMachine
 - Define autoclose behaviour in BlobTx to behave like TransactionStateMachine
 - Implement LocalBlobTx using TransactionStateMachine
 - Add tests for TransactionStateMachine
 - Update existing unit tests that relied on old auto-commit-on-close behaviour
Rename class to remove noise
Merge 'ticket-15-improve-autoclose'

Conflicts:
	src/doss/BlobTx.java
	test/doss/DOSSTest.java
Transactions should only be removed on commit or rollback
Merge pull request #30 from nla/ticket-15-improve-autoclose

Make autoclose easier to understand, more consistent and more testable