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"
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
drop non-alpnanumeric chars from Canonical Name

following up on #2659, further steps toward an algorithmic
derivation of Canonical Name from App Name.

Also add two rules about hyphens which are implied and already
followed by every Cask.
typo sha1 -> sha256
ability to specify container type, not detect

Fixes #2997.  Interface is optional DSL stanza `container_type`.
This should only be used in rare instances.  It is needed for the
case of a naked executable which should not be unpacked.
Update/fix Amazon Cloud Player
Update/fix Broomstick
Update/fix CotEditor
Update/fix DesMuMe
Update/fix Disk Drill
Update/fix DiskAid
Update/fix GeekTool
Update/fix iDentify
Update/fix iDentify
better error message (same like at cabextract)
Merge pull request #3180 from alebcay/amazon-cloud-player

Update/fix Amazon Cloud Player
Merge pull request #3182 from alebcay/coteditor

Update/fix CotEditor
Merge pull request #3186 from alebcay/superduper

Update/fix SuperDuper!
Merge pull request #3179 from rolandwalker/paraview_sha_typo

typo sha1 -> sha256
accept and ignore trailing `.rb` on CL arguments

"Be conservative in what you do, be liberal in what you accept."