message: when a block is added to current tip of the chain and fails, clean up the stale _head pointer because in very rare and strange cases its used before the next valid block comes and corrects the mistake
diff: @@ -252,6 +252,7 @@ bool chain_controller::_push_block(const signed_block& new_block)
  session.push();
  } catch ( const fc::exception& e ) {
  elog("Failed to push new block:\n${e}", ("e", e.to_detail_string()));
  + _fork_db.pop_block();
  _fork_db.remove(new_block.id());
  throw;
  }
  