Write a program to do addition of intervals to an interval store.

An interval is represented by an array of two elements - the lower and
the upper bound (you can assume integers).
Assume that intervals are constructed properly (e.g. the lower bound is
not greater than the upper bound, etc.).

Implement the #add method that will add a new interval, handling the
merges properly.

Example:

> store = IntervalStore.new
[]
> store.add(1, 2)
[[1, 2]]
> store.add(5, 6)
[[1, 2], [5, 6]]
> store.add(1, 4)
[[1, 4], [5, 6]]
> store.add(1, 2)
[[1, 4], [5, 6]]
> store.add(3, 5)
[[1, 6]]
> store.add(0, 7)
[[0, 7]]