Add Interval.apply method to parse strings, tests, etc.

This commit allows users to specify an Interval[Rational] via a string.
It adds some tests for as well as -- which caught a bug.