FIX: private DNS cache for each parallel S3 request
FIX: libcurl share interface objects cleanup added
FIX: std::pair replaced with std::make_pair
FIX: curl_*_setopt() return values asserted
FIX: assert local variables (not function calls)
Fix: header files included in s3fanout.h removed from s3fanout.cc
Comment: share handles usage rationale commented
Fix: pool_sharehandles set to NULL after delete
Merge pull request #528 from ssheikki/fix-s3_load_balance

Fix: S3 load balancing to work properly

Libcurl multi interface requests use shared DNS cache by default. They end up (for this or some other reason) to use only one ip when connection to a host that is using DNS load balancing (multiple ips for one hostname). This problem can be fixed by setting each libcurl easy interface to use a separate DNS cache. This can be done using libcurl share interface.