Fetcher and Parser use the status stream to report errors instead of fail

also used by fetcher to report redirections
related to issues  #37 and #38 #42 
implements #43 


good catch. Should use response.getMetadata() instead as the status is already stored there, at least if it is available. Will fix that