fix(views): elgg_view_menu_item shows no link for items with null href

fixes #5023
feature(usersettings): every user setting has its own menu item

fixes #4445
perf(likes): reduces number of queries when showing likes in lists

For each entity in a list, this preloads the total # of likes and whether
or not the current user likes it in as few queries as possible.

Fixes #6941
fix(views): show different text on widgetpanel toggle button when opened

fixes #4826
deprecate(views): deprecates use of the core/settings/tools view

Also makes this simpler for future needs.
perf(sql): allows removing DISTINCT from some MySQL queries

We add the "distinct" option to a few query functions to allow devs to
remove DISTINCT clauses from queries where they are unnecessary and worsen
performance. We also set the option in some core queries where it's unlikely
to cause trouble.

Fixes #4594
fix(uservalidationbyemail): usage of deprecated ['login', 'user'] event
fix(core): deprecation notices thrown at login/logout even if there's no valid reason
Merge pull request #6990 from mrclay/faster_likes

perf(likes): reduces number of queries when showing likes in lists
perf(db): Disabled SQL DISTINCT in more cases.
Merge branch 'Srokap-pr/7338' into 1.x
Merge pull request #7508 from jdalsem/hide-widget-panel-button

fix(views): show different text on widgetpanel toggle button when opened
chore(docs): update root docs to point to learn.elgg.org

ref #7576
Merge pull request #7578 from jdalsem/update-root-file-docs-links

chore(docs): update root docs to point to learn.elgg.org
chore(services): cleanup service provider and remove 5.2 support
Merge pull request #7565 from mrclay/sp_cleanup

chore(services): cleanup service provider and remove 5.2 support
Merge pull request #7506 from jdalsem/null-menu-item

fix(views): elgg_view_menu_item shows no link for items with null href
Merge pull request #7568 from iionly/issue-6493-1

fix(uservalidationbyemail): usage of deprecated ['login', 'user'] event
Merge pull request #7569 from iionly/issue-6493-2

fix(core): deprecation notices thrown at login/logout even if there's no...
Merge pull request #1 from mrclay/jdalsem-improve-usersettings

deprecate(views): deprecates use of the core/settings/tools view