When outliner datablocks are selected, switch the properties editors in the current workspace to the correct tab for that datablock.
Includes logic to ensure the tab doesn't switch to an unavailable tab when a datablock is pinned in a properties editor.
There is a heuristic to only change the properties editor tabs for editors bordering the outliner. This uses the same shared edge checking as the area join operator.
When clicking modifiers, constraints, and shader effects in the outliner, the corresponding panel will be opened in all properties editors.