split into multiple files
save proxy locally
make versions nicer
better URI parsing
download tests pass when disabling walker cache on the proxy
download: return parsed url
resolveVersion()
assert that agent.download() downloads the source