Use a uint256 for bnChainWork

Every block index entry currently requires a separately-allocated CBigNum. By replacing them with uint256, it's just 32 bytes extra in CBlockIndex itself.

This should save us a few megabytes in RAM (around 32 bytes per block), and less allocation overhead.