use new CaskInvalidError, improve messages
CaskError objects instead of strings, better msgs
make checksum-missing message match Cask semantics

for copy/paste
Merge pull request #3058 from rolandwalker/exception_objects

raise exception objects