feature(ux): Failed file uploads give better error messages.

Added elgg_get_friendly_upload_error() and associated language strings.

Fixes #6593.
Merge pull request #6637 from mrclay/6635

chore(security): converts ElggCrypto to service
Merge pull request #6522 from mrclay/6521

fix(routing): alert site owner if .htaccess needs updating
Merge pull request #6611 from brettp/better_upload_errors

feature(ux): Failed file uploads give better error messages.
chore(cleanup): Cleaned up JS files.
chore(cleanup): Cleaned up files in mods.
chore(cleanup): Cleaned up core files.

Conflicts:
 - engine/lib/session.php
chore(cleanup): Correction after cleanup modifications to web_services
Merge pull request #6643 from Srokap/pr/6616

Cleanup
fix(thewire): Fix word count JS events tapping

What cause problem?
Arrays not gonna work like that for live()

Ref #6644
Merge branch '1.8'

Conflicts:
	mod/thewire/views/default/js/thewire.php
fix(thewire): Restores functionality of JS max length limit parametrization

Is now async load friendly.

Fixes #6646
fix(uservalidationbyemail): do not show email sent page to logged in users.

Fixes #6649
Merge pull request #6650 from sembrestels/emailsent-loggedin

fix(uservalidationbyemail): do not show email sent page to logged in users
fix(upgrade): Fixed a typo in the comments upgrade that broke the ajax upgrade.
Merge pull request #6652 from brettp/fix_time_updated_typo

fix(upgrade): Fixed a typo in the comments upgrade that broke the ajax u...
Merge pull request #6647 from Srokap/ticket_6646

fix(thewire): Restores functionality of JS max length limit parametrization
chore(session): moves persistent login logic to service

This adds a persistent login service, which centralizes this logic and
documents the processes and legacy information.

Fixes #6631
chore(tests): Add unit tests for persistent login service

This also adds some undocumented properties on the service in order to
inject test mocks for things like get_user.