[feature/auth-refactor] Provider Interface Skeleton

Creates a skeleton of the authentication provider interface.

PHPBB3-9734
[feature/auth-refactor] Auth Apache Provider Skeleton

Creates a skeleton for Apache based authentication using the
phpbb_auth_provider_interface named phpbb_auth_provider_apache.
This brings over all code in auth_apache.php verbatim complete with
all global variables currently in use.

PHPBB3-9734
[feature/auth-refactor] Database Auth Provider Skeleton

Creates a skeleton of the database auth provider from auth_db.php.
The functions are copied verbatim complete with globals and any
existing errors.

PHPBB3-9734
[feature/auth-refactor] LDAP Auth Provider Skeleton

Creates a ldap auth provider using code taken verbatim from
auth_ldap.php.

PHPBB3-9734
[feature/auth-refactor] Document the provider interface

Provides basic documentation of the auth_provideR_interface.
Changes the login method to login($username, $password) for
consistency with the providers.
acp() is not fully documented. It appears that it is meant to
return an array of some sort and take in a variable by reference.

PHPBB3-9734
[feature/auth-refactor] Fix comment block indentation

Comment block indentation was off by one space on the provider_*
files due to being incorrectly copied over from the auth_* files.

PHPBB3-9734
[feature/auth-refactor] Make Apache consistent with interface

Makes the provider_apache consistent with the provider_interface
by removing the pass-by-reference of $username and $password.

PHPBB3-9734
[feature/auth-refactor] Make LDAP consistent with interface

Makes the provider_ldap consistent with the provider_interface
except for the acp() method which has not yet been finalized.
Renames phpbb_auth_provider_ldap::user_filter to
phpbb_auth_provider_ldap::ldap_user_filter to maintain the original
name of the function from auth_ldap.

PHPBB3-9734
[feature/auth-refactor] Make DB auth consistent with interface

Makes provider_db consistent with provider_interface.
Removes $ip, $browser, and $forwarded_for from the arguments of
phpbb_auth_provider_db::login() as these are provided by the global
variable $user.

PHPBB3-9734
[ticket/11437] avoid $start becoming negative when no search results are found

When search returns no results there is no need to go inside the if
statement. Since $result_count becomes zero, $start becomes negative
which leads to failed assertion.

PHPBB3-11437
[feature/auth-refactor] Refactor login to use new interface

Refactors auth.php to use the provider_interface during login.

PHPBB-9734
[feature/auth-refactor] Fix typos causing changes to not work

Replaces short tags with long tags.
Fixes the interface to be an interface and not class in the file.
Removes unnecessary include_once from auth.php.

PHPBB-9734
[feature/auth-refactor] Refactor acp_board for new auth interface

Partially refactors acp_board for the new authentication interface.
Leaves some questionable if statements in the file.
Modifies the interface to correctly impletment the acp() method.
Modifies each provider to comply with the above mentioned interface
modification.

PHPBB3-9734
[feature/auth-refactor] Refactor session for new auth interface

Refactors phpbb_session to use the new auth interface.

PHPBB3-9734
[feature/auth-refactor] Finish refactoring auth plugins

I believe that this commit should have final minimal changes needed
to replace the old auth plugins with the refactored auth plugins.
Added a few more elements to the interface based on the old auth
plugins. Documentation is not complete and need works on these new
elements.

PHPBB3-9734
[feature/auth-refactor] Fix LDAP conversion error

I messed up when converting over auth_ldap this commit fixes that
error. I have not been able to extensively test ldap due to not
having ldap set up on this computer yet.
Apache authentication appears to work.

PHPBB3-9734
[feature/auth-refactor] Start turning auth providers into services

Creates auth_provider.yml and includes auth_providers.yml in
services.yml.

PHPBB3-9734
[feature/auth-refactor] Turn provider_db into a service

Removes globals from provider_db and turns it into a service.

PHPBB3-9734
[feature/auth-refactor] Convert provider_ldap to a service

Removes globals from provider_ldap and converts it into a service.

PHPBB3-9734
[feature/auth-refactor] Convert provider_apache to a service

Removes globals from provider_apache and turns it into a service.

PHPBB3-9734