Add some logic to the range<Iterator>::slice, as well as some comments on the expected behavior
Add some more logic to ease testing range<Iterator>::slice