Get rid of db dependencies on main
Moved PushGetBlocks to main.cpp to eliminate dependence of net.cpp on CBlockLocator.
Moved unrelated-to-network calls in StartNode and StopNode into init.cpp
Completed removal of net.cpp's dependency on main.h.
Added explicit include of main.h in init.cpp. Added function registration for net.cpp in init.cpp's network initialization.
Eliminated protocol.cpp's dependence on main.
Created core.h/core.cpp, started moving core structures from main to core beginning with COutPoint.
Moved CInPoint to core. Removed GetMinFee from CTransaction and made it a regular function in main.
Removed AcceptToMemoryPool method from CTransaction. This method belongs to the mempool instance.
Removed AreInputsStandard from CTransaction, made it a regular function in main.
Moved CTransaction::GetOutputFor to CCoinsViewCache.
Moved GetLegacySigOpCount and GetP2SHSigOpCount out of CTransaction into regular functions in main.
Moved GetValueIn and HaveInputs from CTransaction into CCoinsViewCache.
Moved AllowFree, ClientCheckInputs, CheckInputs, UpdateCoins, and CheckTransaction out of CTransaction and into main.
Moved IsStandard and IsFinal out of CTransaction and put them in main as IsStandardTx and IsFinalTx. Moved GetValueOut out of CTransaction into main. Moved CTxIn, CTxOut, and CTransaction into core.
Moved CCoins, CTxOutCompressor, CTxInUndo, and CTxUndo to core.
Removed script.cpp's dependence on main.h