updated architecture of factory class, added specific exceptions in the GuzzleClient class, updated README and added license