Round time to nearest second in memory storage.

When samples get flushed to disk, they lose sub-second precision anyways. By
already dropping sub-second precision, data fetched from memory vs. disk will
behave the same. Later, we should consider also storing a more compact
representation than time.Time in memory if we're not going to use its full
precision.

This is one of the possible solutions to https://github.com/prometheus/prometheus/issues/332, and the one I prefer for now.