[ticket/11465] Use extension finder when adding extensions' acp modules

The method acp_modules::get_module_infos() needs to use the extension
finder whenever it is looking for a module's info file. While
transitioning to the new extension system, only the initial search for all
module info files was changed to the new system. Due to this it is not
possible to add an extension's acp/mcp/ucp module manually in the ACP.
This patch will always use the extension finder for the acp module's info
files and therefore properly find the needed file. Additionally, the code
has been cleaned up a little bit.

PHPBB3-11465
[ticket/11465] Add unit tests for acp_modules::get_module_infos()

The tests add 3 different modules. One acp module that should be found
(acp/a_module), one acp module that should not be found (acp/fail_module),
and one mcp module that should work again (mcp/a_module). The modules'
info files had to be included as they were not auto-loaded for some
reason.
There are several test stages. First of, it is tested if the correct mcp
and acp module is returned. Afterwards, the proper loading of specified
modules is tested. One with an existing module and one with a not existing
module. Finally, the test concludes with trying to get the module info of
not existing ucp modules. Other classes like foobar would have also worked
for that check but I decided to use the ucp type of class as that is the
one type missing from the added test modules.

PHPBB3-11465
[ticket/11465] Move require_once() in unit test to the top of the file

PHPBB3-11465
[ticket/11465] Add phpBB module to test

PHPBB3-11465
[ticket/11465] The info file does not have _info suffix

PHPBB3-11465
[ticket/11465] Correctly set the root path for the test

PHPBB3-11465
[ticket/11465] Check if class exists before including info file

PHPBB3-11465
[ticket/11465] Add comments explaining the tests

PHPBB3-11465
[ticket/11465] Add tests for optional arguments of get_module_infos()

The possibilities of the first argument have already been covered
previously. The second argument will be covered with an entry that
should exist, an incorrect entry, and the default false entry that
should use the previously set module class. Unfortunately, the third
argument doesn't have an effect in the tests, as the mocked extension
manager will not properly handle enabled/disabled extensions.

PHPBB3-11465
[ticket/11465] Add disabled ext to allow proper testing of get_module_infos()

This will now also enable us to test the $use_all_available parameter of
get_module_infos(), which will not only return the module infos for enabled
extensions but also those from disabled extensions.

PHPBB3-11465
Merge branch 'develop' of https://github.com/phpbb/phpbb3 into ticket/11465
[ticket/11465] Increase count of disabled extensions to 5 in functional test

The ACP function test checks the amount of disabled extensions. Due to
the added disabled extension for the tests of the acp_modules method
get_module_infos(), this needed to be increased from 4 to 5.

PHPBB3-11465
Merge remote-tracking branch 'remotes/Marc/ticket/11465' into develop

# By Marc Alexander (8) and Joas Schilling (3)
# Via Marc Alexander
* remotes/Marc/ticket/11465:
  [ticket/11465] Increase count of disabled extensions to 5 in functional test
  [ticket/11465] Add disabled ext to allow proper testing of get_module_infos()
  [ticket/11465] Add tests for optional arguments of get_module_infos()
  [ticket/11465] Add comments explaining the tests
  [ticket/11465] Check if class exists before including info file
  [ticket/11465] Correctly set the root path for the test
  [ticket/11465] The info file does not have _info suffix
  [ticket/11465] Add phpBB module to test
  [ticket/11465] Move require_once() in unit test to the top of the file
  [ticket/11465] Add unit tests for acp_modules::get_module_infos()
  [ticket/11465] Use extension finder when adding extensions' acp modules