forward-compatibility to remove naming limitations on Casks

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` indicates the version of the DSL spec.

The current PR merely converts such lines back to the old form
```ruby
class MyApp < Cask
```
so the class name is still used behind the scenes, and the naming
limitation is still in effect in practice.

In upcoming months we will alter Casks/docs to use the new syntax,
and then change the backend code to remove the limitation.

Placing the DSL version in the header line means that #4870 would
not be needed.