After opening repository connection with RepositoryManager.getRepostory(),
any 'read' from repository (e.g. SELECT) starts the transaction
even though HSQLDB documentation states there are no shared/read locks
in MVCC concurrency model.
The work-around for this is to 'reset' HSQLDB's in-transaction flag
by performing a ROLLBACK (Repository.discardChanges) immediately
after acquiring the blockchain lock (which is used to ringfence
changes that might collide like these).
Also adding an extra check to prevent payments to nonexistent AT
addresses as it touches Transaction.
Non-native-coin payments (e.g. transfer-asset) didn't build map
for checking whether sender had enough balance.
Also fixed raw layout description for TRANSFER_ASSET.
Also fixed ISSUE_ASSET deserialization to use empty string (instead
of null) for v1 transactions.