Accept TeoriaInterval in to parameter of teoria.interval

This changeset modifies the teoria.interval function so that it will accept an
instance of TeoriaInterval. It also includes tests that exercise the code paths that necessitate such a change.