Added cask for Deskfun application
BUGFIX: don't try autocleanup inside system dirs

This safety feature addresses #2650 somewhat indirectly.
A list of system directories is defined.  When the uninstall
process encounters a "system directory" it does not touch that
directory at all
- no chmod on that dir
- no search for broken symlinks in that dir
- no cleanup of .DS_Store files in that dir
Explictly listed files from a pkg receipts are not affected by
this change.  Individual files will still be removed, even if
those files are in a special "system directory"
Divide search output into sections

typically "Exact Match" and "Partial Matches"
Add support for Adobe Air app installations

Adobe Air applications take the form of a .air file that the Adobe Air
runtime then installs and creates a .app -- typically in
/Applications.  This patch provides a new container for those .air
files which the Adobe Air runtime installs to the Caskroom as well as
tests for Adobe Air app installations.

Presently, if homebrew-cask doesn't detect the Adobe Air runtime, it
will provide an informative error message and instructions to obtain
it via `brew cask install adobe-air`.  This is obviously not ideal and
the installation process for the runtime should be automated in the
future.
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.
make `brew cask update` synonym for `brew update`

for convenience/typo
shrink CONTRIBUTING.md to 1/4 its current size

Rationale:
- lengthy CONTRIBUTING.md may itself discourage new Cask authors
- it is doubtful that everyone reads to the end, where there
  are important notes about squashing.

CONTRIBUTING.md reduced from 7947 words to 1927 words.

This was accomplished principally by spinning out "details" sections
into a new reference file `doc/THE_CASK_LANGUAGE.md`, but also by
ruthless re-organization, removal of duplication, and trimming of
phrases. Content remains 99% identical, though a few typos were
caught along the way, and a table of contents was added.
Emoji and disk usage stats at install success

- consistent with Homebrew output
- respects Homebrew environment variables
- does not add any Homebrew code dependency
- really just for fun
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`
Update CONDUCT.md
provide command aliases to match Homebrew

fixes #2969
Fix checksum in Navicat Premium.app Cask
Zooom is not supported on Mavericks

fixes #2463
add /usr/local caveats to TrueCrypt

closes #2350
Merge pull request #3094 from rolandwalker/doc_shrink_contributing

shrink `CONTRIBUTING.md` to 1/4 its current size
Created xrpa application provides Window-Switch.app