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"
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.
clean up caveats on the-archive-browser.rb
add support for Stuffit containers

This will not pass Travis until #2744 is merged
typo sha1 -> sha256
Merge pull request #3040 from rolandwalker/stuffit_containers

add support for Stuffit containers
add support for RAR containers

this will not pass Travis until #2744 is merged
Merge pull request #3039 from rolandwalker/rar_containers

add support for RAR containers
support Bzip2 containers

bzips of tarballs are already supported via `tar`.  This
adds support for a single file asset within a bzip2 container.
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.
Merge pull request #3014 from rolandwalker/bzip_containers

support Bzip2 containers
Merge pull request #3177 from rolandwalker/archive_browser_caveats

clean up caveats on the-archive-browser.rb
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