Language packs: No WPLANG anymore.

* The WPLANG constant is no longer needed. Remove define('WPLANG', ''); from wp-config-sample.php. Populate WPLANG option based on the WPLANG constant. When get_option('WPLANG') is an empty string it will override WPLANG.
* Introduce translations_api() which is available to communicate with the translation API. Move translation install related functions to a new file.
* Replace mu_dropdown_languages() with wp_dropdown_languages(). wp_dropdown_languages() is now populated by the translation API.
* Remove wp_install_load_language() and allow load_default_textdomain() to switch a core translation.

fixes #13069, #15677, #19760, #28730, #29281. 
Built from https://develop.svn.wordpress.org/trunk@29630


git-svn-id: http://core.svn.wordpress.org/trunk@29404 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Password resets: Use network_site_url() for form actions.

props mdawaffe.
fixes #29156.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29405 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Media modals: Better responsive views, especially the header.

* Only show the "dropdown" when there is a menu. Note that this uses a `:not()` selector, but it is supported in browsers that support media queries so it is safe to use here.
* Make the header shorter when on particularly narrow screens, which also tend to be shorter.
* Don't restrict the height of images in the attachment details modal, to take advantage of all available space.

fixes #29339.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29406 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Language Form: The language option for `$wp_local_package` should get the same attributes as the other languages.

see #15677.
Built from https://develop.svn.wordpress.org/trunk@29633


git-svn-id: http://core.svn.wordpress.org/trunk@29407 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Plugin/Theme Uploads: New capabilities; unify UIs; ensure compatibility with old filters.

Introduce upload_plugins and upload_themes capabilities to allow blocking of plugin and theme uploads, versus the old hacky (and not secure) ways of just hiding UI tabs. These are simply meta capabilities that map to install_plugins and install_themes.
 
Also:
 * Use the same nice design for the plugin upload screen as the theme upload screen.
 * Better compatibility for the old install_themes_tabs filter added in [29002]. see #28578.
 * Ensure using the install_plugins_tabs filter to remove the upload tab removes the new button.
 * Use 'Add Plugins' instead of 'Install Plugins' to match 'Add Themes'.

fixes #29236.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29408 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Rename the public methods in the session tokens API.

Introduces a new get( $token ) method. get_token() would not have made sense and spurred the overall renaming. Public methods are now get, get_all, verify, create, update, destroy, destroy_others, and destroy_all.

The protected abstract methods designed for alternative implementations remain the same.

props mdawaffe.
see #20276.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29409 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Plugin installer: Minor adjustments to aid with discovery.

fixes #29387.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29410 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Adjust [29634] so the Upload Plugin button can be shown. see #29236.

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


git-svn-id: http://core.svn.wordpress.org/trunk@29411 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Media: `views_upload` filter expects an array, not a string.

see #28946.

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


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