libchromeos: Add some missing unit tests for HTTP utilities.

Added missing unit tests for HTTP utility functions and classes.

In order to test the CURL-specific transport and connection
classes, added an abstraction on top of the raw CURL APIs so
they can be mocked out in the tests.

Also changed the header list implementation from std::map to
std::multimap since it is allowed to have more than one header
with the same name in http requests and responses.

Also silenced one bogus GMOCK warning in D-Bus tests related to
unexpected mocked function call for SendSignal().

BUG=None
TEST=FEATURES=test emerge-link libchromeos

Change-Id: I200672d890c06fdde668dc7974c1ff5242cc5233
Reviewed-on: https://chromium-review.googlesource.com/239617
Reviewed-by: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
24 files changed