Basic support for Range instances.

This includes support for both inclusive and exclusive ranges. It's currently
not yet possible to query the range value types since there's no way to store
this in the current setup. In the future I might add support for this.

This fixes #65.