Testing -- implemented oatmo's suggested refactoring

Retarget height is 25020
Three CDiff implementations : CMainNetDiff (new rules), COldNetDiff (old rules), CTestNetDiff (testnet rules)
Refactored GetNetworkHashPS & GetDifficulty out of bitcoinrpc.cpp and into CDiff signature.
Fixed bug on getnetworkhashps rpc call from CLI (int arg not parsed correctly)

Tests passed : 
     [x] Validate that COldNetDiff accepts all existing blocks, and accepts new blocks. 
     [x] Validate that COldNetDiff returns proper difficulty.
     [x] Validate that CDiffProvider returns proper CDiff implementation when height for new algo. is reached (tested starting @ block 19020)

Todo :
     [ ] Validate that CMainNetDiff handles retargets properly.
     [ ] Validate that CMainNetDiff accepts new blocks.
     [ ] Validate that CMainNetDiff drops difficulty after 4 hours without retarget.
     [ ] Write testbenches for CMainNetDiff