Allow std.numeric works with const ranges

Half of algorithms lacks `Unqual` for temporary type based of
`typeof(return)`.

Attention: dotProduct for `const` arrays ~~no~~ now returns `const`. This is
done for unification with other methods.