Add factory method for pe_build/transfer classes
Refactor archive to store instance variable
fixup pe_build/transfer factory
Update transfer classes to use a URI as the source
Implement generic interface for fetching archives
Move all archive download calls to use #fetch
Add error handling to Archive#fetch
Remove old Archive fetch methods
Validate download_root as a URI in config/global
Handle ftp URIs with http transferrer.

The class should be renamed to indicate that it's downloading remote
files, but this is a quick (and kinda ugly) fix.
(GH-14) Ensure that archive is present before extracting

This closes GH-14
Correct transfer/http variable typos
Merge branch 'archive-abstract_fetch_implementation'