Math: save one unneeded initialization in Vector::sum().
Math: improve Vector::min()/max() tests.
Math: added Vector::{min,max}Abs().
Math: added RectangularMatrix::sum(),product(),{min,max}(),{min,max}Abs().
Math: SVD algorithm implementation.
Math: fixed one-argument Vector constructors.

It is now possible to implicitly create one-element Vector and also
explicitly fill more-element Vector with one value without any ambiguous
overload conflicts:

    Vector<1, int> a1 = 1;   // calls implicit constructor
    //Vector<3, int> a3 = 1; // error!

    Vector<1, int> b1(1); // still calls the implicit constructor, the
                          // explicit is disabled for one-element vector
    Vector<3, int> b3(1); // calls the explicit "filling" constructor,
                          // the implicit is disabled for only one argument

The downside of this is that now  specifying improper element count in
constructor doesn't lead to static_assert with human readable error, but
rather cryptic "no match" error.
Math: removed inappropriate `constexpr` from operator!=()

Method calling another method that will possibly be done via SIMD in the
future cannot be constexpr.
Math: constexpr implementation for "filling" Vector constructor.

Also removed constexpr alternatives to it in Vector2, Vector3 and
Vector4 as they are now not needed.
Math: properly testing all constexpr methods in Vector.

Fixed conversion constructor, as pointer chasings are not allowed in
constexpr functions.
Math: properly testing all constexpr methods in RectangularMatrix.

Fixed data() method, it doesn't need to use reinterpret_cast.
Math: follow Vector changes in BoolVector.

Added constexpr "filling" constructor, updated tests, added constexpr
test.
Primitives: fixed compilation error.

Caused by recent change of Point*D constructor to explicit.