fix(routing): prevent upgrade if .htaccess needs updating

The router relies on a querystring added via URL rewriting by
the web server. If missing, this would lead to looping redirects
or showing only the index page. This requires the URL rewriting
strategy to be in place before the upgrade can run.

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

Added elgg_get_friendly_upload_error() and associated language strings.

Fixes #6593.
chore(security): converts ElggCrypto to service

This makes these methods possible to override in unit tests.

Fixes #6635
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