Add download stats.

@JakeWharton 
@loganj 

- Count number of downloads and actual compressed total size and average size.
- Remove `synchronized` from `createSnapshot()`. We talked with @loganj and said its OK if some of the data is not completely up-to-date. It only does a read on the stats.

I am also not sure if `available()` here is the right call. Can `Content-Length` provide the number here instead?

Couple of questions marked as TODOs in the code. 

Review only for now.