TransactionConfidence refactor 1

I believe these are steps 1,2,6 from the design doc.

Design question - right now the confidencePool is held by the NetworkParameters.  Should it be held by the Blockchain instead, since the confidence is dependent on where we are in the blockchain scan?  For example, we could have two wallets, with two blockchains, at different points in the scanning process.