Big refactoring of Experiment

It's ugly, but it works.

The primary goal is to have `new`, `find`, and `find_or_create` all
behave in an appropriate manner. Config files are used to initialize
values, but not in place of the Redis store.
Small test tweaks
Remove :alternative_names

The distinction between this and :alternatives is no longer needed.
More refactoring

Pull class methods into instance methods. Remove unneeded methods.
Experiment.all only fetches from Redis

Since all active experiments should exist in Redis, don't also
look in the config file.
Don't duplicate alternatives on access

Not sure why this was put in place, but it seems dangerous.
Move logic to setter methods

This helps reduce duplication of functionality.
Refactor Alternative a little
Move methods around

Make some protected, and try to group related methods.
Merge branch 'master' into refactoring

Conflicts:
	lib/split/experiment.rb
	lib/split/helper.rb
Merge pull request #118 from iangreenleaf/refactoring

Refactoring Experiment