Add asynchronous download framework to libsyndicate, and have the rest of libsyndicate use it.
This lays the groundwork for asynchronous concurrent reads (issue #66).