Исправления.

1. В функциях получения информации сеанс cURL завершался преждевременно,
и последующие попытки узнать причину ошибки получения данных (если такая
была) вызывали ошибки, т.к. cURL уже был завершен.
2. Баг с curl_multi_select.  Не для патчноута: Этот вариант решения
проблемы предложен разработчиками libcurl. Теоретически это не самое
лучшее решение, но т.к. curl_multi_select сам по себе блокирует
выполнение работы скрипта, пока не появится активное соединение то,
наверно, такое использование без проверки результата допустимо.