fix maturity depth in CMerkleTx::GetBlocksToMaturity

#479 reported that mined funds could not be transferred, this is most likely being caused by ```CMerkleTx::GetBlocksToMaturity``` not being patched properly. This PR fixes that, and centralizes the calculation of which maturity requirement to use by implementing ```GetRequiredMaturityDepth(int nHeight)```