Cache userdata after running WP_User_Query in BP_User_Query

WP_User_Query does not cache data that is stored in wp_users in a bulk fashion.
BP, on the other hand, does cache this data, as 'bp_core_userdata_' . $user_id.
This cached userdata is then referenced in many places throughout BP, including
the building of user_domains and userlinks. Thus, it can save up to 20 queries
per page (assuming per_page=20) during query loops.

A corresponding change has been made to the 'fields' parameter passed to
WP_User_Query from BP_User_Query. Because BP caches entire wp_users rows (see
BP_Core_User::get_core_userdata()), we must ensure that BP_User_Query is also
fetching entire rows. We opt not to use WP_User_Query's 'fields=all' parameter,
because it triggers the casting of WP_User objects, which in turn requires
expensive capability lookups.

See #5445

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8024 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
Set WP_User_Query 'fields' param correctly based on multisite vs non-MS

See r8024, #5445

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