[web/data] Fix userCallbackThenUpdateUI to completely replace old DOM elements
Without the 'swap' parameter, userCallbackThenUpdateUI() would replace
the _children_ of the component with a new version of the componenent,
thus creating nested divs/spans/buttons/etc.
Closes #4881299
usr/lib/PY_VERSION/*-packages/cubicweb/server/
usr/lib/PY_VERSION/*-packages/cubicweb/hooks/
usr/lib/PY_VERSION/*-packages/cubicweb/sobjects/
usr/lib/PY_VERSION/*-packages/cubicweb/schemas/
usr/share/cubicweb/migration/