Range overhaul

Replaced all range classes with a single generic interval class, which simplifies usage and allows closed and open intervals for discrete and continuous types.

Although this PR looks quite large, the changes are centralized in the Interval.cs class and its associated fixture. The other changes stem from updated extension methods and a lot of deleted files.