andrew/split — pull request #109 by coolzilj (2013-01-07 09:30:33+00:00)
Title: Allows An Experiment To Have Multiple Goals

This feature comes with pretty substantial changes. Some of those changes possibly kludgy. Please give some feedback : )

Backward compatibility is maintained.

An experiment can have more than one goals. For example, we might want to see how an alternative might affect sign up conversion, as well as purchase conversion. It's possible that an alternative might increase sign-up conversion, but negatively impact purchase conversion.

The API to define goals for an experiment is this:

```ruby
ab_test({"link_color" => ["purchase", "refund"]}, "red", "blue")
```

The name of the experiment is `link_color`, and it has two additional goals: purchase and refund.

To complete a goal conversion, you do it like:

```ruby
finished({"link_color" => ["purchase"]})
```

I also thought about a different API design to specify to completion goal using the option, but not sure if it's better.

```ruby
finished("link_color",:goal => "purchase")
```

Thoughts?