Lcg/file provider fixes

File Provider fixes for Chef-12

* validates checksum on download
* downloads content before attempting to create file (does not leave zero-length files)
* cleanup of some of the logic

Closes [CHEF-4647](https://tickets.opscode.com/browse/CHEF-4647)