Extract shared interval validation to ValidatedRule
Intervals must be unique for each rule

Fixes #158
Added specs for replacing intervals

Fixes #157