Add support for ranges.

Adds support for range objects and it's initial API.