improved error handling in tesco and sainsburys modules. error messages are more informative and identify the shop in which the problem occured. if any stage of the extraction process fails, the shop module will return the string null which will be dealt with by main.py