Reinstate term splitting on term update.

Originally introduced in [30241] and reverted in [30336], term splitting is
back and better than ever. Now with *more unit tests* and *improved treatment
of child terms*!

See #30335.
Built from https://develop.svn.wordpress.org/trunk@30344


git-svn-id: http://core.svn.wordpress.org/trunk@30343 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When creating a post containing emoji, the post can be saved incorrectly if MySQL isn't using a character set that supports emoji.

This change prevents the save from occurring, so it can be handled correctly in the UI.

See #21212.

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


git-svn-id: http://core.svn.wordpress.org/trunk@30344 1a063a9b-81f0-0310-95a4-ce76da25c4cd
If a saving a post fails, remove any invalid characters (such as emoji) from the primary text fields, then try to save it again.

See #21212.


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


git-svn-id: http://core.svn.wordpress.org/trunk@30345 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Flush cache for newly created term in `_split_shared_term()`.

The term itself does not have any cached values yet, but in some cases the new
term's taxonomy may need its cached hierarchy to be refreshed as a result of
the term splitting.

Props jorbin.
See #30335.
Built from https://develop.svn.wordpress.org/trunk@30347


git-svn-id: http://core.svn.wordpress.org/trunk@30346 1a063a9b-81f0-0310-95a4-ce76da25c4cd
WordPress 4.1-beta1
Built from https://develop.svn.wordpress.org/trunk@30348


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