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.
Merge github.com:Elgg/Elgg