More informative MediaFile exceptions

* Remove generic messages for `UnreadableFileError`. The class
  carries that information—so we see it if the exceptions crashes the
  program. If the exception is caught (in `library`, `importer`,
  and `autotag`) the type of the exceptions is logged.

* Attach file path to the exceptions. This allows us to determine
  the file that crashed the application.

See #788