Add better Exception handling when thumb download fails.

Thumb downloading may fail. So far we identified the following reasons:
the requested file may not exist, the requested size may be bigger than the source.
The API answer used to be stuffed in a general Exception and that was it.

We introduce a finer exception handling here.
- Add three Exception classes: a general one, and two for the identifed reasons.
- Add method which parses the API answer with regexes and return the matching Exception
- Change get_thumbnail_of_file to use this mechanism.

As for unit tests:
- Edit unit test for non-existing filename to use the correct Exception
- Add unit test for width bigger than source exception