[ticket/11620] Add testable facade for sessions.php

Since many functions in session.php have global variables inside the function,
this exposes those functions through a testable facade that uses testable_factory's
mock global variables to modify global variables used in the functions.

 This is using the facade pattern to provide a testable "front" to the functions in sessions.php.

 PHPBB3-11620
[ticket/11620] Add test for test_extract_current_page

PHPBB3-11620
[ticket/11620] Remove accidental argument from testable_facade.

PHPBB3-11620
[ticket/11620] Rename class_functions_test -> extract_page_test

Renaming this file because it is going to contain a large data provider,
so I'd rather split this test out.

PHPBB3-11620
[ticket/11620] Add data provider to extract_page

These test cases were taken from a live session,
more test cases should be added to test specific
functionality in this function.

PHPBB3-11620
[ticket/11620] Add extract_current_hostname

Add a tests for extracting the current hostname from session.

PHPBB3-11620
[ticket/11620] Fix quotes in extract_hostname_test

PHPBB3-11620
[ticket/11620] Add commas in extract_page_test

PHPBB3-11620
[ticket/11620] Make testable_facade non-static, expand.

Make the class functions of testable_facade no longer static methods,
but a class based one and expand the methods to be filled in, in later commits.

PHPBB3-11620
[ticket/11620] Add ipv6 test cases and remove extra arguments.

PHPBB3-11620
[ticket/11620] Remove unneeded functions from testable facade

There are functions listed in testable facade that don't have a lot of dependencies,
instead mostly just take the input and perform database functions on them.
These can be tested without a testable facade function and so will be removed.

PHPBB3-11620
[ticket/11620] Add validate_referrer test

Add a test for the validate_referrer function.

PHPBB3-11620
[ticket/11620] Add indentation, change quote style.

indentation is probably more important than 80 characters per line apparently.
Single quotes instead of double per coding guidelines.

PHPBB3-11620
[ticket/11620] Fix typo and confusingly named test

PHPBB3-11620
[ticket/11620] Add create_test with test for bot detection

Added a test for the creation of a session with a simple test
for detecting whether a bot is present.

PHPBB3-11620
[ticket/11620] Reworked create_test without data provider

PHPBB3-11620
[ticket/11620] Implemented a provider mock object.

Due to an auth_refactor, there is a new dependency
in session.php on phpbb_container and a provider.

For purposes of testing, implemented a simple one.

PHPBB3-11620
[ticket/11620] Added validate_session to provider.

PHPBB3-11620
[ticket/11620] More mock provider methods

The mock provider object now better matches the interface
given for providers.

PHPBB3-11620
[ticket/11620] Minor changes to tests for coding standards

PHPBB3-11620