Reinstate the changes from [28579] with some adjustments:

* Check `! empty( $postarr['file'] )` before calling `update_attached_file()`
* Add a unit test: `test_update_attachment_fields()`
* Run the same logic for empty `guid` for attachments that always ran in `wp_insert_post()`, as per #18310. This fixes a unit test that would have broken when this ticket was marked closed.
* Updated the unit test in `Tests_Media::test_wp_prepare_attachment_for_js()` to account for `url` no longer being empty

Props kovshenin, wonderboymusic.
See #21963.

Built from https://develop.svn.wordpress.org/trunk@28788


git-svn-id: http://core.svn.wordpress.org/trunk@28601 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Whitespace in `navMenuL10n` after [28707].  

Fixes #23076.


Built from https://develop.svn.wordpress.org/trunk@28789


git-svn-id: http://core.svn.wordpress.org/trunk@28602 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Add Animoto to the list of oEmbed providers. Example video: http://animoto.com/play/MlRRgXHhoT8gOZyHanM6TA.

Props lritter.
Fixes #28265.


Built from https://develop.svn.wordpress.org/trunk@28790


git-svn-id: http://core.svn.wordpress.org/trunk@28603 1a063a9b-81f0-0310-95a4-ce76da25c4cd