libcore::iter Refactor Skip::next

Simplifying the code of that method
Adding benchmarks for that method
Fixing behaviour of the method which sets self.n to zero even when
the iterator is consumed before skipping n values