message: Add undocumented -aggressive-staking option
  This will cause the staker to be extra aggressive about block publishing
  However, can have many side-effects including your node being DoS banned.
  Use at your own risk
diff: @@ -1131,7 +1131,7 @@ void ThreadStakeMiner(CWallet *pwallet)
  if (chainActive.Tip()->GetBlockHash() != beginningHash) {
  //another block was received while building ours, scrap progress
  - LogPrint("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  + LogPrintf("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  break;
  }
  // Create a block that's properly populated with transactions
  @@ -1142,7 +1142,7 @@ void ThreadStakeMiner(CWallet *pwallet)
  return;
  if (chainActive.Tip()->GetBlockHash() != beginningHash) {
  //another block was received while building ours, scrap progress
  - LogPrint("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  + LogPrintf("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  break;
  }
  // Sign the full block and use the timestamp from earlier for a valid stake
  @@ -1154,18 +1154,25 @@ void ThreadStakeMiner(CWallet *pwallet)
  while(!validBlock) {
  if (chainActive.Tip()->GetBlockHash() != beginningHash) {
  //another block was received while building ours, scrap progress
  - LogPrint("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  + LogPrintf("ThreadStakeMiner(): Valid future PoS block was orphaned before becoming valid");
  break;
  }
  //check timestamps
  if (pblockfilled->GetBlockTime() <= pindexPrev->GetBlockTime() ||
  FutureDrift(pblockfilled->GetBlockTime()) < pindexPrev->GetBlockTime()) {
  - LogPrint("ThreadStakeMiner(): Valid PoS block took too long to create and has expired");
  + LogPrintf("ThreadStakeMiner(): Valid PoS block took too long to create and has expired");
  break; //timestamp too late, so ignore
  }
  if (pblockfilled->GetBlockTime() > FutureDrift(GetAdjustedTime())) {
  - //too early, so wait a second and try again
  - MilliSleep(1000);
  + if (IsArgSet("-aggressive-staking")) {
  + //if being agressive, then check more often to publish immediately when valid. This might allow you to find more blocks,
  + //but also increases the chance of broadcasting invalid blocks and getting DoS banned by nodes,
  + //or receiving more stale/orphan blocks than normal. Use at your own risk.
  + MilliSleep(100);
  + }else{
  + //too early, so wait 2 seconds and try again
  + MilliSleep(2000);
  + }
  continue;
  }
  validBlock=true;
  