[ticket/11482] Implementation of advanced DEFINE tag

Implementation of advanced DEFINE tag and ENDDEFINE

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

Unit tests for advanced DEFINE and ENDDEFINE

PHPBB3-11482
[ticket/11482] Use double quotes for code

Use double quotes for code to avoid excessive escaping

PHPBB3-11482
Merge remote-tracking branch 'remotes/cyberalien/ticket/11482' into develop

# By Vjacheslav Trushkin
# Via Vjacheslav Trushkin
* remotes/cyberalien/ticket/11482:
  [ticket/11482] Use double quotes for code
  [ticket/11482] Unit tests for advanced DEFINE
  [ticket/11482] Implementation of advanced DEFINE tag
Merge remote-tracking branch 'EXreaction/ticket/11413' into develop

* EXreaction/ticket/11413: (23 commits)
  [ticket/11413] Revert some cache service related changes from earlier
  [ticket/11413] Use phpbb_user in test
  [ticket/11413] $user should have been $this->user
  [ticket/11413] Fix unit tests
  [ticket/11413] Translate the error
  [ticket/11413] Rename file to something more helpful
  [ticket/11413] Remove remaining irrelevant code to this PR
  [ticket/11413] Remove mock sql_insert_buffer.php (not relevant to PR)
  [ticket/11413] Remove conversion of user_notifications
  [ticket/11413] Correct copyright year
  [ticket/11413] Remove changes for ticket 11420 from this branch
  [ticket/11413] Include mock class
  [ticket/11413] Don't use the database for the convert test
  [ticket/11413] Test get_notification_type_id and _ids functions
  [ticket/11413] Use sql_insert_buffer
  [ticket/11413] Create test for notification conversion
  [ticket/11413] Fix test fixtures and tests
  [ticket/11413] Fix some more tests
  [ticket/11413] Fix notification tests
  [ticket/11413] Prevent recursive function calls
  ...