* Added AssetData transfer object
* Added IssueAssetTransactionData transfer object
* Reworked qora.assets.Asset into business layer object
* Reworked qora.transaction.IssueAssetTransaction into business layer object
* Added corresponding AssetRepository and support in TransactionRepository et al
* Fixed BlockChain in line with asset changes
* Some renaming inside GenesisTransaction to reflect use of transfer object, not business object
* Business transaction objects now take Repository param
* Moved HSQLDB transaction repositories into a sub-package
* Changed HSQLDBSaver.execute(Connection connection) to .execute(Repository repository) to fix visibility issues
and allow repository more control in the future if need be
* Changed from "return null" statements in HSQLDB repositories to throw DataException when an error occurs.
Better to throw than to silently return null?
* Added static version of PublicKeyAccount.verify() for when a repository-backed PublicKeyAccount is not needed
* Fixed getter/setter code template incorrectly producing "this.this.field = param"
Moved more repository-like methods from qora.* classes to repository.
Removed qora.block.BlockTransaction as it's pretty much internal to the HSQLDB repository.
Fixing qora.account.*
Fixing genesis-related classes: block, account, transaction...
Rolled BlockTransactionRepository into BlockRepository.
Added AccountRepository for general account info and account balances.
BlockTransformer now takes Block as param instead of BlockData as it needs Block's transactions.
No need for database.DB class as the code is specific to HSQLDB so moved into relevant repository.hsqldb classes.
Top-level Repository instance (e.g. HSQLDBRepository) is used within subclasses, e.g. HSQLDBBlockRepository, so they
can share the same repository state, like underlying SQL Connection for easier transactional support.
HSQLDBRepository subclasses now call checkedExecute() on top-level repository instance, instead of passing Connection
to obsolete DB.checkedExecute.
No need for qora.block.BlockFactory any more as those methods are now in repository.
More work on Blocks and Transactions in general.