Generic FileMedia pipeline for images, text files, PDFs + refactored ImagesPipeline

Proposition to have a generic pipeline for files, `FileMediaPipeline` (as suggested by @dangra on IRC)

Enabled using an item with `file_urls` and `files` fields (similar to what is done in `ImagesPipeline`).
File system storage is specified a with new setting, `FILE_STORE` (again, like in `ImagesPipeline`)

`ImagesPipeline` is refactored using the new pipeline and has some new settings/options:
- `IMAGES_ORIGINAL_SAVE` (default `False `): saves a copy of the original image, with original extension
- `IMAGES_ORIGINAL_CONVERT` (default `True`): to turn off the conversion of the original image to JPEG
- `IMAGES_REPORT_DIMENSIONS` (default `False`): to add `width` and `height` in `image_info_or_error` result dict

This is not intended as a final implementation, but a starting point for discussion.
Note: I have tested this only with file system storage.