[ticket/13031] Only use mimetype guesser guess if it helps us

If we already have a mimetype and the guesser's guess is the default fallback,
we should keep the already existing mimetype the browser supplied. Otherwise,
platforms that might not support mimetype guessers will cause us to always
have the mimetype set to application/octet-stream on images. This will prevent
users from uploading images.

PHPBB3-13031
[ticket/12852] Make get_url_parts handle get variable with no value

PHPBB3-12852
[ticket/12852] Remove whitespace

PHPBB3-12852
[ticket/12852] Add space after if

PHPBB3-12852
[ticket/12852] Add unit tests

PHPBB3-12852
[ticket/13031] Guess with all mimetype guessers and pick best guess

PHPBB3-13031
[ticket/12983] Correctly validate sorting options in the UCP

PHPBB3-12983
[ticket/13031] Slightly change behavior of choose_mime_type and add unit tests

The mime type 'application/octet-stream' will still always be overwritten by
proper guesses. However, guesses with guessers that have a higher priority
will now overwrite previous guesses even if the mime types of these guesses
had a slash in them.

PHPBB3-13031
Merge pull request #2918 from marc1706/ticket/13031

[ticket/13031] Only use mimetype guesser guess if it helps us

* marc1706/ticket/13031:
  [ticket/13031] Slightly change behavior of choose_mime_type and add unit tests
  [ticket/13031] Guess with all mimetype guessers and pick best guess
  [ticket/13031] Only use mimetype guesser guess if it helps us
[ticket/12983] Add functional test for ucp pref module

PHPBB3-12983
Merge pull request #2919 from Senky/ticket/12852

[ticket/12852] Make get_url_parts handle get variable with no value

* Senky/ticket/12852:
  [ticket/12852] Add unit tests
  [ticket/12852] Add space after if
  [ticket/12852] Remove whitespace
  [ticket/12852] Make get_url_parts handle get variable with no value
[ticket/12983] Do not test invalid values until Symfony 2.4

PHPBB3-12983
Merge pull request #2925 from nickvergessen/ticket/12983

Ticket/12983 UCP preferences, Display posts ordering by: input is not properly validated