[ticket/11387] Log module added only after it has been added

PHPBB3-11387
[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/10155] Update jQuery to 1.8.3

Currently included jQuery is old by now, v1.6.2. We should update to
1.8.3. This allows us to take advantage of the latest form of jQuery
event delegation ($.on). I don't think it wise to update to jQuery
1.9.x yet, as many 3rd party scripts still need to be updated to cope
with its deprecated features ($.browser). Therefor, 1.8.3 is the latest
and most widely compatible stable version right now.

PHPBB3-10155
[ticket/10155] Use new migration file for jQuery config update
[ticket/11452] Now notification_method_email checks whether user has address.

Make sure the user has an email address set before offering email
notifications. The address could be missing for whatever reason, e.g. external
authentication. This is also consistent with XMPP/Jabber now.

PHPBB3-11452
[ticket/10155] Use more descriptive title for migration file

PHPBB3-10155
[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/10155] Make effectively installed test more specific

PHPBB3-10155
[ticket/11458] Search for permission language files in extensions

Extensions that add new permission masks only need to add a permission file in
the language folder of the extension. The file must start with 'permissions_'
eg 'permissions_blog.php'. The permission language file will be automatically
included when viewing/setting permissions.

PHPBB3-11458
[ticket/11482] Implementation of advanced DEFINE tag

Implementation of advanced DEFINE tag and ENDDEFINE

PHPBB3-11482
[ticket/11485] add columns to styles table during updating schema before
updating the data

PHPBB3-10485
[ticket/11485] add revert_schema for the updated columns

PHPBB3-11485
[ticket/11482] Unit tests for advanced DEFINE

Unit tests for advanced DEFINE and ENDDEFINE

PHPBB3-11482
[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/11482] Use double quotes for code

Use double quotes for code to avoid excessive escaping

PHPBB3-11482