Seperating Downloading and caching part

Extracting the downloading and caching logic to its own class. This
cleans up the main class quite a bit. Some of the explicit encoding
options are removed.

	modified:   spec/spec_helper.rb
The repo uses webmock which makes stubbing HTTP connections easier
Added webmock to the development bundle
Merge branch 'downloading_and_caching' of github.com:kgrz/upton into kgrz-downloading_and_caching
Merge branch 'master' of github.com:propublica/upton into kgrz-downloading_and_caching
cleanup / style
Merge branch 'master' into kgrz-downloading_and_caching
add option for readable stash filenames

readable names are a cleaned URL and timestamp, limited to less than 255chars