isolate ErrorDuringExecution rescue

it only should be rescued for the `curl` invocation
Improve error checking and messages on Cask load

Other Cask sources ultimately invoke the `load` method in the
abstract class Cask::Source::PathBase, so these changes apply
to all other sources.
Merge pull request #4673 from rolandwalker/cask_load_exceptions

Improve error checking and messages on Cask load