search docs/test/fix tapname-search

This is the promised followup to #2496
- docs
- test
- bugfix: search string was being tested against fully-qualified
  Cask name including Tap, so "brew cask search phinze" would
  (confusingly) return all Casks.
devscripts: general hardening of shell scripts

- full paths to utils
- $() construct
- quoting
- prefer double square brackets
Merge pull request #2694 from rolandwalker/devscript_hardening

devscripts: general hardening of shell scripts
BUGFIX: readlink requires chdir for relative links

Fixes #2650 (although there is more work to be done).  The issue is that
path.readlink.exist? returned false for all relative links, because readlink
reads relative to the current working directory.  This caused relative
symlinks such as /usr/bin/tar to be deleted, because package mosh identified
/usr/bin as one of its container directories.

The simplest fix is not to use readlink at all, because path.exist?
will tell us what we want to know, independent of current dir.
Merge pull request #2670 from rolandwalker/relative_readlink_safety

BUGFIX: readlink requires chdir for relative links
screensaver spelled screen_saver in DSL and opts
Merge pull request #2702 from rolandwalker/screensave_spelling

screensaver spelled screen_saver in DSL and opts
Merge pull request #2545 from rolandwalker/search_followups

search docs/test/fix tapname-search
Update Intellij IDEA to 13.0.2
Merge pull request #2703 from pavel-sakun/intellij-idea

Update Intellij IDEA to 13.0.2
updated shotcut
Merge pull request #2707 from vitorgalvao/update-shotcut

updated shotcut