Findmin/max and generators

@Dan: to make this work for

@btime findmin(x * x for x in (3, 2, 1) if x != 1)

I had to use

Base.pairs(g::Base.Generator{I,F}) where {I<:Base.Iterators.Filter, F<: Function} = Iterators.map(=>, 1:typemax(Int), g)

To all: thanks for your help!