[ticket/12336] Add functions_module.php core event

Add functions_module.php core event to allow adjusting parameters
for custom ACP, MCP, UCP modules (location: function list_modules()).

PHPBB3-12336
[ticket/12386] Add DEBUG_EXTRA again and use it for container creation

We are currently creating a new compiled container on every page load when
having DEBUG enabled. However, one might only have that enabled to be
presented with errors or for getting the page load stats.
This change will add the DEBUG_EXTRA constant again. It will be used for
choosing whether the compiled container should be created on every page load -
when defined as true - or just once after the cache is cleared.

PHPBB3-12386
[ticket/12386] Rename DEBUG_EXTRA to DEBUG_CONTAINER for more descriptive name

PHPBB3-12386
Merge remote-tracking branch 'marc/ticket/12386' into develop-ascraeus

* marc/ticket/12386:
  [ticket/12386] Rename DEBUG_EXTRA to DEBUG_CONTAINER for more descriptive name
  [ticket/12386] Add DEBUG_EXTRA again and use it for container creation
Merge remote-tracking branch 'rxu/ticket/12336' into develop-ascraeus

* rxu/ticket/12336:
  [ticket/12336] Add functions_module.php core event
[ticket/12351] Add loading indicator to links that are missing it.

When you click on the link, the turning circle is missing, so you don't
know whether it is actually doing something or not, until the response is
served.

PHPBB3-12351
[ticket/12211] Do not run attachment file names twice through htmlspecialchars

Upload filenames are already processed via htmlspecialchars in the
type_cast_helper of the new request class. There is no need to run it through
htmlspecialchars() again in the filespec class.

PHPBB3-12211
Merge remote-tracking branch 'VarunAgw/ticket/12351' into develop-ascraeus

* VarunAgw/ticket/12351:
  [ticket/12351] Add loading indicator to links that are missing it.
Merge remote-tracking branch 'marc/ticket/12211' into develop-ascraeus

* marc/ticket/12211:
  [ticket/12211] Do not run attachment file names twice through htmlspecialchars
[ticket/12395] Check for posts in the middle of the page

PHPBB3-12395
Merge remote-tracking branch 'nickvergessen/ticket/12395' into develop-ascraeus

* nickvergessen/ticket/12395:
  [ticket/12395] Check for posts in the middle of the page
[ticket/12398] Use submit_post return in prune_shadow_topic_test

This should get rid of possible failures during functional tests.

PHPBB3-12398
[ticket/12398] Use return of submit_post in softdelete and download tests

PHPBB3-12398
Merge remote-tracking branch 'marc/ticket/12398' into develop-ascraeus

* marc/ticket/12398:
  [ticket/12398] Use return of submit_post in softdelete and download tests
  [ticket/12398] Use submit_post return in prune_shadow_topic_test
[ticket/12371] Do not group "quote" notifications

Grouping these notification makes no sense, as the user will not find the
posts he is quoted in, when they are spread over multiple pages

PHPBB3-12371
[ticket/12371] Allow notification types to redirect to a different url

This way we can redirect the post and bookmark notification to the first
unread post in the topic

PHPBB3-12371
[ticket/12371] Do not delete post related notifications when a post is deleted

When a post is marked edited and therefor marked as softdeleted/unapproved,
we should not delete the notifications, just like we can't delete the emails.
Links are out there anyway and just keeping the notification is fail save.

If we keep the notification we can just continue to update it when more posts
are added. Also when we delete a post, we don't have to go though the table
and find all related notifications to be able to delete them or even update
them, when they have responders set.

PHPBB3-12371
[ticket/12371] Do not update the notification entry unneccessarily

When the data did not change, we also don't have to run the query at all.

PHPBB3-12371
[ticket/12371] Do not add unlimited users as responders

We run into the risc that the data is longer then the character limit
of the table column. However as we trim the users list anyway, we can
also just stop adding them and display "many others" instead of "x others"

PHPBB3-12371
[ticket/12052] Add support for ITEM_UNAPPROVED to set_post_visibility method

PHPBB3-12052