Making downloadFile multiplatform

Two days ago, I've posted on Reddit the snippet I've used to download a file from internet with http-streams, along
with a version featuring a funky progress bar: 

http://www.reddit.com/r/haskell/comments/1iihvg/neat_trick_downloading_a_file_over_http_using/

One interesting thing someone suggested is that that function could have been made cross platform simply adding `withSocketsDo`, so this is a patch implementing this.