devscript: add `cask_namer`

This script implements naming rules for App-based Casks
as currently documented.  After some real-world testing, this
logic should be merged into `brew cask create`.  This commit adds
`doc/CASK_NAMING_REFERENCE.md`, and reduces `CONTRIBUTING.md` by
422 words.

@vitorgalvao here is the result of our efforts.  This script correctly predicts
the current names of all but 18 `link`-based Casks (less than 2%).

It also checks the current repo for name collisions.  The logic is
idempotent in that (although the script is designed to accept App paths),
correctly formed Cask names will pass through unchanged.  This is an
important criterion for any future merger with `brew cask create`.