Fix multi-value field weight corruption after SEO preview AJAX
cacheProcessedEntityForPreview() calls buildEntity() to build a throw-away preview entity. buildEntity() runs extractFormValues() on every widget, mutating the per-widget field_state stored in $form_state['field_storage']. For multi-value widgets (Media Library, file, …) this re-sorts the cached field_state['items'].
The preview AJAX response does not re-render the widgets, so the browser keeps the original target_id/weight inputs. The next real save reuses the same cached form (identical form_build_id), reads the mutated field_state, pairs it with the stale browser weights and saves a corrupted item order.
Snapshot field_storage before buildEntity() and restore it after, so building the preview entity has no side effect on the editable form state. On the next save the widget rebuilds its items cleanly from the POST and the user's order is preserved.
Closes #3354563