Removed empty() from output ranges.

Signed-off-by: Marcin Zalewski <marcin.zalewski@gmail.com>
Changed range interface.

Added functions for compositions and comparisons for subrange related ranges. The names
and the interface are perhaps not too great, but the idea is there.

Signed-off-by: Marcin Zalewski <marcin.zalewski@gmail.com>
Updated the interface for test ranges to include subrange composition and comparison.

Signed-off-by: Marcin Zalewski <marcin.zalewski@gmail.com>
Updated algorithms to the new subrange composition and comparison interface.
Added an example from Sean Parent.

Signed-off-by: Marcin Zalewski <marcin.zalewski@gmail.com>
Updated the readme.

Signed-off-by: Marcin Zalewski <marcin.zalewski@gmail.com>