[ticket/9801] Allow display of page outside board directory on viewonline

Until now, the preg_match didn't take into account that a page might be
outside the board directory. After this change, the regular expression will
allow preceding dots and slashes. Paths like ../../test.php will be allowed.
The page will be unknown in viewonline.php and it will revert to index.php as
current page. However, the core.viewonline_overwrite_location event will
receive proper info of the page the user is on right now allowing a listener
to change the info that is being displayed.

PHPBB3-9801
[ticket/9801] Add viewonline_helper service to allow proper testing

The viewonline_helper service can and will be extended in the future which
will allow us to also test the viewonline page better.

PHPBB3-9801
[ticket/9801] Remove spaces before * in docblock

PHPBB3-9801
[ticket/9801] Use empty instead of sizeof

PHPBB3-9801
Merge pull request #2578 from marc1706/ticket/9801

[ticket/9801] Allow display of page outside board directory on viewonline

* marc1706/ticket/9801:
  [ticket/9801] Use empty instead of sizeof
  [ticket/9801] Remove spaces before * in docblock
  [ticket/9801] Add viewonline_helper service to allow proper testing
  [ticket/9801] Allow display of page outside board directory on viewonline