Add unit test for comparing subsequent calls to `BP_Core_User::get_last_activity()` to compare cached results to uncached results. See #5597, to test logic introduced in r8047.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8326 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Backwards compatibility for querying single groups via the `slug` argument. Props r-a-y. Fixes #5596. (trunk)

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8329 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Remove disable_account_deletion cases from bp_core_delete_account() tests

As of r8324, this settings check takes place in an action controller, not here
in the business level function. See #5575

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8330 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Overhaul caching for user last_activity values

The last_activity methods in the BP_Core_User class were originally designed
without persistent caching in mind. In r8047, some minimal caching support was
introduced, but it was tacked on and incomplete. In particular, it depended
on an inconsistent structure of return values from the last_activity methods.
See #5128 for more background.

This changeset introduces a number of changes that make last_activity methods
perform more consistently, as well as full support for object caching.

- BP_Core_User::get_last_activity() always returns a multidimensional array
  of last_activity arrays, keyed by user_id. This remains true even when
  last_activity data is being fetched only for a single user.
- last_activity data is stored in the bp_last_activity cache bucket without
  the user-id-keyed wrapper.
- BP_Core_User::get_last_activity() now uses the same caching technique as
  other BuddyPress and WordPress queries: detect which requested items are not
  yet in the cache, prime the cache for those items, and then fetch all
  requested values directly from the cache to build a return value.

Fixes #5590

Props imath, johnjamesjacoby for initial patches

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8332 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
When migrating last_activity data, clear all data to avoid duplicates

Previously, duplicates were avoided with a NOT IN subquery. But this caused
load problems on large installations, where the subquery would return
many thousands of results.

Fixes #5572

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8333 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Improve layout of Welcome screen, for greater consistency across browsers and WP versions

Fixes #5561

Props mercime

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8334 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Improved documentation in Members component. See #5022

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8335 cdf35c40-ae34-48e0-9cc9-0c9da1808c22