[ticket/11525] Only remove group or user prefix from given avatar data

Until now, the user data had both user_id and group_id keys in the avatar
data. As both group_ and user_ prefixes were removed the group_id was
collapsed onto the user_id and therefore all users in the same group had
the same prefix for their uploaded avatars. This patch will make sure
that the correct id is used depending on whether it's a group's or user's
avatar data.

PHPBB3-11525
[ŧicket/11896] Set form_time with time() when marking all notifications read

form_time is only set if is passed via the form. Since the mark notifications
read link does not use the form, it will default to 0 causing the mark
notifications logic to only mark notifications read if their time is smaller
or equal to 0. This patch will change ucp_notifications to correctly set
form_time for the confirm_box.

PHPBB3-11896
[ticket/11896] Add ability to define expected message after posting

This change will add the ability to define the expected message after a
topic or post has been submitted with the methods create_post() and
create_topic(). If the expected message is not 'POST_STORED', we will not
try to get the topic and post id.

PHPBB3-11896
[ticket/11896] Add functional tests for marking all notifications read

PHPBB3-11896
[ticket/11525] Fix doc blocks

PHPBB3-11525
[ticket/11525] Prefix id parameter with 'g' again when its a group avatar

PHPBB3-11525
Merge pull request #2 from nickvergessen/marc/ticket/11525

Marc/ticket/11525
[ticket/11525] Compare correct array to expected value

PHPBB3-11525
[ticket/11525] Fix expected value of group avatar test

PHPBB3-11525
Merge pull request #3 from nickvergessen/marc/ticket/11525

Marc/ticket/11525 Part 2
[ticket/12016] Use a service provider for event listeners

This allows them to use dependency injection

PHPBB3-12016
[ticket/12016] Update functional tests to use service for event listeners

PHPBB3-12016
Merge pull request #1871 from nickvergessen/ticket/12016

Ticket/12016 Event listeners should be services
[ticket/11525] Use foreach instead of array_walk in method clean_row()

This approach is cleaner and probably even faster the previous ways that
included using array_walk() or array_map() and other helper functions
and methods.

PHPBB3-11525
Merge pull request #1815 from marc1706/ticket/11525

[ticket/11525] Only remove group or user prefix from given avatar data
[ticket/12017] Remove IN_PHPBB defined check

PHPBB3-12017
[ticket/12017] Copy config/ dir so events work

PHPBB3-12017
[ticket/12017] Fix phpbb requirement in composer.json

PHPBB3-12017
Merge pull request #1872 from nickvergessen/ticket/12017

Ticket/12017 Extension tests are broken on current develop
[ticket/12008] The read_notification_last_gc config setting should be dynamic.

PHPBB3-12008