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

for copy/paste
add extended attributes for :target links

fixes #2847.  This PR adds OS X-specific extended attributes
(metadata) whenever :target is used on an artifact.  The
extended attributes are available for search software such
as Spotlight or Alfred to discover the artifact under the
:target name.

Limitations: Spotlight specifically chooses to ignore this
attribute for App bundles.  Alfred will also ignore this
attribute until the upcoming 2.2 release.
add optional appcast stanza to DSL

Appcasts are a standard way for applications to publish
information about available updates via RSS.  Sparkle and
other update frameworks are built upon appcasts.

In a quick test, appcasts were found for 188/360 Casks examined.

This PR adds an optional `appcast` stanza, but does not add
`appcast` to any Cask or make use of the info in any way.  It is
intentionally left undocumented.
`sha256 :no_check` as synonym for `no_checksum`
provide command aliases to match Homebrew

fixes #2969
Merge pull request #3131 from rolandwalker/cmd_aliases

provide command aliases to match Homebrew
Merge pull request #3107 from rolandwalker/dsl_no_check_syntax

`sha256 :no_check` as synonym for `no_checksum`
Merge pull request #3105 from rolandwalker/appcast_dsl

add optional appcast stanza to DSL
Merge pull request #3073 from rolandwalker/add_target_metadata

add extended attributes for `:target` links
Merge pull request #3058 from rolandwalker/exception_objects

raise exception objects
Add 7z container support

relevant Casks must use `depends_on_formula unar`