optionally do not read network response if server returned non-200 code

Problem:
Sometimes media server does not have image file or has a problem with retrieving this image it returns some default image with HTTP status code `404` or `50x` accordingly. By default library do not recognize any problem as long as there's response body. Default image is cached as a normal image and the only way to get back normal image is to clear cache and retry request in sometime.

Solution:
Do not read response body if HTTP status code is not `200`. No erratic images in cache, uses fail image from `showImageOnFail` if present. PROFIT!

P.S. I've made this behavior optional but left it by default on as I believe current behavior is erratic.