refactor download agent into its own name space
refactor cache manager
update gitignore file