Replace curl with Guzzle and add composer support
Add tests