fix(menu): check if admin page menu items exist before sorting them

Allow admin page menu to be altered without causing WSOD. Adds regression test
Fixes #6379
Merge pull request #6397 from hypeJunction/admin-menu-sort

Fixes #6379: Makes sure that page menu items exist before trying to prepare them for viewing
fix(cache): removes memory leak when clearing an entity's metadata cache


When clearing the metadata cache for a particular entity, an empty array was
unnecessarily left for each GUID removed from cache. This instead removes the
entire key for the GUID.
perf(batch): reduce memory usage during batch processes

Result sets for batch queries tend to be large and bloat the query
cache without being of much use. Since the LRU cache is limited in
key size (not memory size), the simplest solution is to flush it
during batch operations.
Merge pull request #6423 from mrclay/metadata_clear_leak

fix(cache): removes memory leak when clearing an entity's metadata cache
Merge pull request #6424 from mrclay/reduce_batch_mem_usage

perf(batch): reduce memory usage during batch processes
fix(rss): corrects syntax errors preventing RSS validation

Now RSS pages with files will be validated by W3C and are more likely
to be handled by a wide variety of RSS readers.

Fixes #6411
Merge branch 'gerard-kanters-patch-5' into 1.8
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
Merge pull request #6459 from hypeJunction/groups-write-access-hook

Fixes #6434: remove redundant filter of user-owner group acls
chore(thewire): few code enhancements in the wire js file
Merge pull request #354 from sembrestels/thewire-js-php

TheWire js cleanup
fix(views): check if body_attrs are set before attempting to format them

Clears a log warning, cleans up the code and adds @uses to docs

Fixes #6298
fix(groups): check if handler is set in params before calling it

Clean up error logs results in an unset index
fix(views): only pass body_attrs if they are set

Cleaning up log notices
fix(hooks): remove event handler registration

Removes registration of an event handler that is not used in core, consequently reducing noise on the screen log

Fixes #6410
Merge pull request #6479 from hypeJunction/messy-log-cherrypick

Cleaning up some log noise
fix(install): fatal exception during installation

During the installation process 'normal' pages are drawn. Part if the
page is the metatag for sitedescription. This isn't available in $CONFIG
so the system goes to the database, which is unavailable.

fixes issue caused by 66f06919735e3de97b8262cc13c7044df755795b
fix(views): fix typo in $attrs var name
Merge pull request #6489 from hypeJunction/messy-log-cherrypick

fix(views): fix typo in $attrs var name