turn TxReport into a regular class

give tempids private visibility, so that temp ids can only be resolved through the resolve methods of TxReport

continues on from pull request #6