I use Guzzle for anything requiring an HTTP-client. It's the official D8 http client, so future upgrades will require minimal work, and it's used by some of Amazon's official tools, so it should be "good enough" for most uses.
For the contrib module, there is currenly a problem with how to handle PSR-0 with composer loading in D7. If you don't need other composer loaded libraries, just stick with the 758860bdb0782aa6ec766655ba48b056c011bb59 commit for Guzzle. If you need others, you will need to head to the issue queue and see more details about solutions there.
I believe the reason curl wasn't relied upon was that curl-support in php wasn't considered widely enough available.