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.
Merge pull request #5365 from rolandwalker/remove_caskname_limitations

forward-compatibility to remove naming limitations on Casks