Collect all reasons for a notification, not just the last reason.
Only update the visit if the sessions is being set. It's also set on analytics tick.
Don't cookie the session for sso on api calls.
Merge branch 'live/kixeye' into stage

Conflicts:
	applications/dashboard/settings/class.hooks.php
	library/core/class.statistics.php
Add a separate entry point for rendering POST vs GET on EntryController->RegisterApproval to help track down errors.
Index GDN_UserRole.RoleID.
Merge branch 'master' into stage

Conflicts:
	applications/dashboard/controllers/class.utilitycontroller.php
	applications/dashboard/models/class.assetmodel.php
Added a CountParticipants to GDN_Conversation to optimize some of the conversation pages with a lot of participants.
jquery.autogrow.js: modified long-unsupported plugin, due to buggy behaviour. First bug concerned the manual resize corner on textareas, which was reported by Hobsons. Second bug was topmost text creeps out of view on long bodies, fixed by box-sizing awareness.
Version 2.2.6.
Improvements to BetterRandomString().

- Fixed a bug where all but one possible characters are used in the string.
- Try and use openssl_random_psuedo_bytes() if it is enabled.
- Use mt_rand() instead of rand() if openssl_random_psuedo_bytes() isn't enabled.
Made some security improvements to password request.

- Use a longer password reset key.
- Make password reset requests expire after 1 hour.
- Display a link to the password reset request form on an error.
Switch password reset if statement to curly braces.
Added cache and database checks to utility/ping.
/utility/ping enhancements.
Try and get a nice http status message on the error page.
Send a 500 instead of E_USER_ERROR if the application can't connect to the db.
Merge branch 'feature/optimize-conversations' into stage
Change the database connection error to an exception.
Core: removed atmentions from Advanced Editor and moved them into core. Currently the atmentions will fire within the Vanilla application.