Validate value of GPG :key_id

The value of `:key_id` must be an hexadecimal string of length 8, 16,
or 40.
Update GPG tests to use valid key IDs
Test for invalid GPG key IDs
User-friendly error messages for invalid options/arguments; fixes #5997

- Show a more user-friendly error message when dealing with an option whose (mandatory) argument is missing.

- Likewise, we show a more user-friendly error message when a given option is ambiguous. Examples:
    - Given `-f`, the parser successfully expands to `--fontdir`.

    - Given `-c`, we fail to expand because the parser can’t tell if the user means `--caskroom` or rather `--colorpickerdir`. This exception now results in a nicer error message.

- Some commands now result in a consistent error message when a required cask name is missing.
This affects all stable commands which require one or more cask names as arguments, i. e. `cat`, `create`, `edit`, `fetch`, `info`, `install`, `uninstall`, and `zap`.

- Up to now, the commands `cat`, `create`, `edit`, and `info` used to treat any unknown option as a cask name. This commit changes that behaviour to make it consistent to the rest of the commands (like `fetch`, `install`, `uninstall`, and `zap`), who have silently discarded any unknown option in the past, and continue to do so.
Add tests for #5997
Rewrite tests to make them work with Ruby 1.8
Add Maintenance Latest
Add Rowmote Helper.app v3.9.4

Closes #6500.
Adobe Digital Editions 4.0
Merge pull request #6504 from vitorgalvao/fix-6500

Add Rowmote Helper.app v3.9.4
Merge pull request #6491 from claui/issue-5997

User-friendly error messages for invalid options/arguments; fixes #5997
document `uninstall :trash`
incidental Markdown formatting
document `tags` stanza
add `tags :vendor` to Cask google-chrome.rb
add `tags :name` to Cask smlnj
sync `license` doc with `tags`

re: current lack of front-end interface to the relevant Cask data
update for Couchbase Server 3.0.0 versions ʕノ◔ϖ◔ʔノ
Upgrade Alfred 2.app to v2.5_299
Add MacScale latest

- class name now == Macscale as per [Naming
Ref](https://github.com/caskroom/homebrew-cask/blob/master/doc/CASK_NAMING_REFERENCE.md)
- version now == :latest and sha256 == :no_check as per. [Contributing](https://github.com/caskroom/homebrew-cask/blob/master/CONTRIBUTING.md#cask-stanzas)