fix(routing): URL-decodes path segments like Elgg 1.8

Non-ASCII characters get URL encoded in $_SERVER['PATH_INFO'] so instead we
copy the URL path into a query string var and use that var to build path
segments in the router. This should yield identical behavior as Elgg 1.8.

Fixes #6218
fix(http): makes HTTP request/parameter bag PHP 5.2 compatible

The original Symfony versions use array_replace. We use array_merge, which
is identical for the purpose it's used.
test(routing): adds more comprehensive tests for router

This tests that the router passes the URL segments and original
identifier to the page handler, and that a URL-encoded segment
is properly decoded.
fix(site_notifications): added correct key for menu item
fix(upgrade): Setting time_updated and last_action for migrated comment and discussion entities.

Fixes #6395.
fix(css): Added CSS for elgg-state-selected menu items in theme sandbox.
fix(ui): Added CSS to make the site menu show up correctly in theme sandbox.
Merge pull request #6441 from PerJensen/master

fix(site_notifications): added correct key, link_class, for menu item
docs(updates): Updating contributing docs to point to feedback and planning group and to mention the commit message format.
docs(fix): Fixing MD links for new docs.
Merge pull request #6444 from brettp/6395

fix(upgrade): Setting time_updated and last_action for migrated comment ...

LGTM
Merge pull request #6439 from mrclay/6218

fix(routing): URL-decodes path segments like Elgg 1.8
test(groups): fix parameter passed to elgg_set_page_owner_guid()

Passing correct value: guid instead of the entity
Merge pull request #6462 from hypeJunction/group_acl_test

test(groups): fix parameter passed to elgg_set_page_owner_guid()
perf(groups): remove redundant filter of user-owner group acls

Since 1.8 upgrade the iteration to filter out acls that define group membership and are owned by the user are redundant

Fixes #6434