lookaside: Handle downloading of source files
This is quite a large chunk of code that is moving from pyrpkg.Commands
to the new pyrpkg.lookaside.CGILookasideCache.
In addition, we now don't fork a call to the curl command any more, but
instead use pycurl. This allows the download method to be entirely
tested.
Downstreams can now also easily use their own URL format, which should
make the CentOS folks happier, as well as make it easier when we want to
add the hashtype to the URL in Fedora. (as part of the move away from
md5 hashes)
As part of the move to pycurl, we are losing the download progress
indication, but it will make a come-back in a future commit.