Add Metadata DSL for experiments

This DSL extension allows you do specify a human readable name, description, and a screenshot URL for an experiment an its groups. 

It also includes JSON export, so the experiment metadata can be dumped (I'll need this for a result visualization tool). I prefer to define the experiment, including all its metadata, in one place.

Example: 

``` ruby
Experiment.define :dummy do

  name 'Example experiment'
  description <<-D
    blah blah blah
  D

  groups do
    group :test, :half do
      name 'Test group'
      screenshot 'http://example.com/image1.png'
    end

    group :control, :half do
      name 'Control group'
      screenshot 'http://example.com/image2.png'
    end
  end  
end
```

@jamesmacaulay for a quick review please.