Products.CMFActivity.ActivityTool: Improve behaviour on single-node instances.
- Ignore node preference when spawning activities. Otherwise, activities which are not spawned with a preferred node will get an effective priority penalty compared to same-priority activities spawned *with* a node preference, despite both being to execute by the same processing node. - Break activity processing loop when the current processing node is also the activity validation node. This avoids pathological cases of activity accumulation, for example when reindexing an entire site: _recurseCallMethod is spawned in processing_node=0, but immediateReindexObject is spawned in processing_node=-1 because of serialization_tag dependency, so with such loop _recurseCallMethod will be executed over and over, piling indexation activities up until _recurseCallMethod does not self-respawn. In turn, such activity accumulation lead to an increased overhead, and decreased activity processing efficiency. This may also allow multi-node instances to more reliably use the validation node as a processing node. The cost for multi-node instances of these changes should be absolutely minimal (no extra IO necessary, minimal extra code). A possible drawback on single-node instances is that tic period may become more important because process_timer will return more often.