Implement WorkflowChainUpdater

The ``WorkflowChainUpdater`` context manager helps when we need to change the workflow of certain types.
It allows us to do with keeping / mapping the states from the old workflow to the new workflow.

Also included:
- Refactor ``PlacefulWorkflowPolicyActivator`` to use ``WorkflowChainUpdater``, since most of the functionality was moved
- Extract updating object security into `ftw.upgrade.helpers.update_security_for`, so that we can reuse it outside of upgrade step classes.