CMFActivity: new activate() parameter to prefer executing on the same node
This implements a special case of node specialization, to make better use of the ZODB Storage cache. By default, a non-grouped message is marked to be executed by the same node that created it, if the object is not a tool and if it was not activated by path. This can be overridden (either forced or prevented) using a new 'node' activate() parameter. See message of the first merged commits for details, and also ActiveObject.activate() docstring. For SQLDict & SQLQueue only.
In the future, the new 'node' argument could accept any other string value that refers to a group of nodes. Groups would be defined on the activity tool, and be assigned negative integers. Contrary to what is implemented here, such specialization would be strict, in that a node would never process a message for a group it does not belong.