Fix interval op special case.

In the case that a getValuesAtIntervalOp's ExtractSamples() is called
with a current time after the last chunk time, we return without
extracting any further values beyond the last one in the chunk
(correct), but also without advancing the op's time (incorrect). This
leads to an infinite loop in renderView(), since the op is called
repeatedly without ever being advanced and consumed.

This adds handling for this special case. When detecting this case, we
immediately set the op to be consumed, since we would always get a value
after the current time passed in if there was one.

Change-Id: Id99149e07b5188d655331382b8b6a461b677005c
Prometheus version 0.2.1.

Change-Id: I288f88390d3eee45bf684647337e7bfff11def6a
Skeleton code for tsdb read path.

Change-Id: I648479faf1d039154a2467b4d860a43413fbcb0b
OpenTSDB read path code-complete (but untested).

Change-Id: I4f6abc6adf9135b9e6cd3828299e9d530e9f94df