[ticket/11362] Correctly sanitise the directory path

We need to correctly remove ../ form the path if possible by removing the
previous folder aswell. Otherwise the finder is unable to locate /adm/style
directories in extensions as he is looking for /adm/../adm/style instead.

PHPBB3-11362
[ticket/11362] Add unit test for ../ in directory paths

PHPBB3-11362
[ticket/10844] Add phpbb_root_path to phpbb_style_extension_path_provider

The phpbb_root_path needs to be removed from the style path, before giving
the path to the finder, because the finder prepends it later again and is
therefor unable to find style files when the root path is not ./

PHPBB3-10844
[ticket/10844] Make sure ext_path has no trailing slash

PHPBB3-10844
[ticket/10844] Add unit tests for different root_paths

PHPBB3-10844
[ticket/11362] Move phpbb_clean_path into a simple filesystem service

PHPBB3-11362
[ticket/11362] Use new filesystem class in finder

PHPBB3-11362
[ticket/11362] Replace other calls to phpbb_clean_path

Need to instantiate the object manually here, as the container is not yet
set up.

PHPBB3-11362
[ticket/11362] Extension manager depends on filesystem

PHPBB3-11362
[ticket/11362] Fix service description of finder

PHPBB3-11362
[ticket/11362] Add compatibility function phpbb_clean_path() again

The function first depends on the container, but also works without it and
without autoload. The reason for this is, it might be used before that
stuff is set up, like it has been in our common.php

PHPBB3-11362
[ticket/9975] Translate missing style error message

The error message about missing style data was not
translated

PHPBB3-9975
[ticket/10844] Add extension template file to locate

PHPBB3-10844
[ticket/10844] Increase prefix to not match template/ in finder test

PHPBB3-10844
[ticket/11362] Use container when available instead of creating a new instance

PHPBB3-11362
[ticket/9975] Moved a few E_USER_ERROR errors to /language

There were a few error messages that a user could experience that would, previously, be without any the ability to be localized. There are some more E_USER_ERRORs that I did not change to a constant, for example the error message that is displayed if there aren't any folders in /language.

PHPBB3-9975
[ticket/11129] Added headers to empty subscription state

"You are not subscribed to any forums".
While correct, could lead to confusion. What's missing is a header right above the message that says "Watched Topics" to match the "Watched Forums" header above. This will assert the idea that there are two separate watchable sections.
As is, it looks like that message is talking about the "Watched Forums" section, since it's listed under that header.

PHPBB3-11129
[ticket/11129] Added headers to empty subscription state

Added a newline to better seperate the two headers.

PHPBB3-11129
[ticket/11454] Correct jabber global available check

Copied from msg_jabber()

PBPBB3-11454
[ticket/11479] Fix install/update (rebuild container)

Code copied from fix in 11305

PHPBB3-11479