Improvements in CChainParams

Replace direct references to RegTest() with constant parameters on CChainParams interface.
EDIT: dependency merged
It is functionally equivalent to what was previously doing, so it seems it was unused before.

Right now MineBlocksOnDemand set to true (only used by regtest), makes the number of threds default to 1, overwritting the defaultThreads variable (again, only regtest has a non-zero value here).
So this whole check in miner.cpp seems meaninless unless you're using miner.cpp without using rpcmining.cpp (it seems there are some calls from init.cpp too)

With the changes in the PR the check in miner.cpp would be also used if you created a mode that has a default different than 0, but you don't set the blocksOnDemand flag to true.
The check is inside a nThreads < 0 anyway, so that seems to indicate that somebody is actually using negative values when calling the function to get the default (or boost's default if the default in chainparams is 0) number of threads.