Impl. 4hr. retarget & fixed getnetworkhashps

Next block retargets if no retargets during the last 4 hours
getnetworkhashps : replaced block interval constant to match Noirbits
(60 instead of 2016)
Reworked retarget rules & refactored them to functions
Refactored Testnet diff. calc and bug fixes
Refactored 51% fix & added brackets (style is everything ;)
Refactored diff. calc to CDiff classes - only updated makefile.unix
Cosmetics (fixed indents)
Finalized new retarget algo. @todo : Testing on testnet, run tests, edit makefiles"
Implemented new rules starting @ block 20000
Implemented new rules starting @ block 20000
Edited makefiles for Noirbisd
Refactored CMainNetDiff::ShouldAppllyNewRules to static -- allows to remove magic number from getnetworkhashps
Re-inlined CMainNetDiff::ShouldApplyNewRetargetRules(int)
Updated QT project with new diff files
Merge pull request #6 from ftcminer/Testing

Testing
Added CDiffProvider to provide proper CDiff instance based on context (height and net type -- testnet or mainnet)
Extra debug information in CDiff implementations
Fixed bnProofOfWork init. in CDiff class
Fixed COldNetDiff::ComputeMinWork() : invalid formula causing valid blocks to be rejected (too little POW)
Fixed getnetworkhashps (invalid arg type when called using [blocks] param from CLI) and adjusted CDiffProvider branch condition
Merge pull request #7 from ftcminer/Testing

Testing -- implemented oatmo's suggested refactoring