Make `url_to_postid()` work for custom post type URLs. Use `get_post_types()` and `get_taxonomies()` instead of directly accessing globals. Adds unit test.

Props faishal, for the globals fix.
Fixes #19744.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25576 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`post_content` does not have a default value in the `$wpdb->posts` table. Add a default value of empty string to `wp_insert_attachment()` to avoid a tornado of database errors in PHP 5.5/MySQL 5.6, even when debug mode is turned off.

See #25282.


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


git-svn-id: http://core.svn.wordpress.org/trunk@25577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Rather than adding a `taxonomy` arg to `get_category()`, convert all uses of `get_category()` in core to `get_term()`. By doing so, we negate the need to call `_make_cat_compat()` in a few places that are only looking for a single property.

Fixes #8722.


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


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