[WIP][HttpFoundation] File mime types and extensions

| Q             | A
| ------------- | ---
| Bug fix?      | yes
| New feature?  | yes
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | #5039, #6963, #5258, #7415, #5615
| License       | MIT
| Doc PR        | n/a

This pull request addresses most of the issues regarding mime types and extension on File instances.

I've also created an issue on the docs to add more documentation about how things work (see symfony/symfony-docs#2542).