[ticket/11912] Integrate mimetype guesser with plupload

PHPBB3-11912
[ticket/11912] Add phpbb mimetype guesser

Mimetype guesser will be used as front-end file for mimetype guessing.

PHPBB3-11912
[ticket/11912] Add tests for phpbb mimetype guesser

PHPBB3-11912
[ticket/11912] Add content_guesser

The content_guesser will try to use the function mime_content_type()
if it's available. If that is not the case, the content_guesser will try to
guess the mimetype using the file extension of the supplied file.
Since this guesser will be registered after the other guessers, it will
be only used if the other guessers are not available.

PHPBB3-11912
[ticket/11912] Add tests for content_guesser

PHPBB3-11912
[ticket/11912] Improve extension map in content_guesser

PHPBB3-11912
[ŧicket/11912] Get rid of obsolete variables in content_guesser

PHPBB3-11912
[ticket/11912] Remove typo in content_guesser

PHPBB3-11912
[ticket/11912] Supply filename to content_guesser for guessing on windows

The filename of the files sent to the guesser by plupload do not contain
the file extension. Therefore, it's impossible to guess the mimetype if
only the content_guesser is available and the function mime_content_type()
doesn't exist. By supplying the filename we can circumvent this issue.

PHPBB3-11912
[ticket/11912] Introduce guesser_interface

This will contain proper documentation of the required methods if anyone
would implement a newer guesser.

PHPBB3-11912
[ticket/11912] Use lowercase names for guesser services

PHPBB3-11912
[ticket/11842] Use group_id 0 and correct avatar name after creating group

It seems like the function group_correct_avatar() was forgotten while adding
the new avatar system. We now pass the group_id 0 to the upload avatar and
let the function group_correct_avatar() fix the avatar filename after creating
the group like it was done previously.

PHPBB3-11842
[ticket/11842] Replace outdated occurences of user and group avatar_type

user_avatar_type und group_avatar_type are now a string and should therefore
be treated accordingly.

PHPBB3-11842
[ticket/11969] New language strings for first and last post links

PHPBB3-11969
[ticket/11969] Change topic link to unread post in prosilver

PHPBB3-11969
[ticket/11969] Change topic link to unread post in subsilver2

PHPBB3-11969
[ticket/11912] Add extension_guesser for guessing mimetype by extension

The content_guesser now only guesses the mimetype with the function
mime_content_type() while the guessing by extension is done using the
extension_guesser.

PHPBB3-11912
[ticket/11912] Introduce guesser priority to mimetype guessers

The mimetype guesser priority can now be set through the service definition.
Mimetypes will be guessed from the guesser with the highest priority to
the one with the lowest priority. Standard priority types have been added
to the service definition file. Any integer value can be used though.
Standard mimetype guessers that do not have the methods get_priority
and set_priority implemented, like the standard MimeTypeGuessers of symfony,
will have the default priority with the value of 0. Lower priority guessers
have values lower than 0 while high priority ones can be added with values
higher than 0.

PHPBB3-11912
[ticket/11912] Remove obsolete $file_info from plupload

PHPBB3-11912
[ticket/11912] Remove IN_PHPBB checks from mimetype guesser files

PHPBB3-11912