create_kpvs_within_slices handles floating ends

create_kpvs_within_slices can be passed floating point slice start and
stop endpoints. These need to be handled correctly in case the minimum
or maximum data point is right at the start (or stop) of the slice.