Apply `order` to each passed value for `orderby` in `WP_Query`:

* Since `orderby` in `WP_Query` can accept space-delimited sets, yet only one `order` value: when multiple values are passed (and `DESC` is the order), the default sort order `ASC` is being applied to all values before the last in the set.
* There is a unit test that sporadically fails since 3.6 in `tests/post/revision` due to multiple posts having the same `post_date` from being added so rapidly
* When ordering revisions in `wp_get_post_revisions()`, order by `post_date ID`
* Change the `order` value in `wp_get_post_revisions()` to `ASC`. This will produce SQL like: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID ASC`. Previously, this would have produced SQL like: `ORDER BY $wpdb->posts.post_date DESC`, and with the addition of ` ID`: `ORDER BY $wpdb->posts.post_date ASC, $wpdb->posts.ID DESC`. Clearly, wrong. The original SQL produced: `ORDER BY $wpdb->posts.post_date DESC`. As such, return the reversions in reverse order using `array_reverse()`. Not doing so would break "Preview Changes."
* Add unit tests to assert that all of this works.
* All existing unit tests pass with the change to ordering multiple `orderby`s in `WP_Query`.
* In the future, we should support independent `order` for each `orderby`, see #17065.

Props SergeyBiryukov, wonderboymusic.
Fixes #26042.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28367 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Because PHP can be configured without `--filter`, it is not 100% safe to use `filter_var()`. This is problematic for casting `"false"` to `false`, as PHP always casts it to `true`. `FILTER_VALIDATE_BOOLEAN` fixes this, but it may not be available.

Add a new function, `wp_validate_boolean()`, to replace `filter_var( $var, FILTER_VALIDATE_BOOLEAN )`.

Fixes #28170.


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


git-svn-id: http://core.svn.wordpress.org/trunk@28368 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Remove unnecessary array_reverse() from wp_get_post_revisions().

WP_Query properly handles multiple 'orderby' values since [28541].

fixes #26042.
Built from https://develop.svn.wordpress.org/trunk@28543


git-svn-id: http://core.svn.wordpress.org/trunk@28369 1a063a9b-81f0-0310-95a4-ce76da25c4cd
`$theme_name` is set but no longer used in `wp_dashboard_right_now()`. The theme name is displayed with the call to `update_right_now_message()`.

See #27882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28370 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In `wp_dashboard_recent_posts()`, `$i` is set and never used.

See #27882.

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


git-svn-id: http://core.svn.wordpress.org/trunk@28371 1a063a9b-81f0-0310-95a4-ce76da25c4cd
In `WP_Customize_Manager::register_controls()`, `$menu_locations` is set and never used.

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


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