Adds RPC.GetBlock(hash, verbosity=2) and a CoinbaseReward helper that sums the first tx's outputs. IngestBlockEvents now does getblockhash -> getblock -> sum(vout) so BlockRecord.RewardBT carries the actual BTC paid out on solve instead of always being zero. Both RPC calls share a single 5s deadline and are best-effort — bitcoind being down just leaves the reward at zero.