support pure gzip containers (not tar.gz)

References: #5455
forward-compatibility to remove naming limitations

Currently, Casks names are constrained by the need to form
valid Ruby class names.  This change enables a new syntax,
in which the first line of a Cask will read like
```ruby
cask :v1 => 'my-app' do
```
where :v1 refers to the version of the DSL spec.
Open.popen3 does not set $?, unless Ruby 1.8

This is possibly the cause of other glitches such as random
failures on Travis.

Ruby 1.8 popen3 does set global $? for the exit status, Ruby
1.9 and above does not.  For Ruby 2.0 users (Mavericks and
above with recent Homebrew), success or failure of the current
external command was determined by the exit status of some
previous command.

Closes caskroom/homebrew-fonts#186
Merge pull request #5517 from rolandwalker/pure_gzip_container

support pure gzip containers (not tar.gz)
Amend valid values for tags stanza

- remove font tags (per earlier discussion - they were left
  in by mistake)
- add tag `:name` for corner cases where the Cask name cannot
  adequately follow the product name.  Examples: non-English
  apps, App bundles which do not match publicized names.
Merge pull request #5520 from rolandwalker/system_command_exit_status

Open.popen3 does not set `$?`
Merge pull request #5365 from rolandwalker/remove_caskname_limitations

forward-compatibility to remove naming limitations on Casks
Merge pull request #5540 from rolandwalker/amend_tags

Amend valid values for tags stanza