cxxll::url_source: New class
download(): New variant that returns a pointer to a source object
repomd: Switch from sink-based download to source-based download
symboldb: Switch to source-based download
symboldb_download_repo(): Switch to source-based download
download() test case: Use source-based download
Remove the non-source-based download() functions
cxxll::url_source: Move actual implementations to the impl class
cxxll::url_source::connect(): Actually establish connection
download(): Avoid making a separate HEAD request

Instead, we perform a GET request and jsut abort the transfer
if it turns out we have a current cached copy.
cxxll::url_source_init(), cxxll::url_source_deinit(): Add
Test driver: Init/deinit Curl via url_source_init()/url_source_deinit()
cxxll::curl_fetch_result: Remove