subscript test: more tests of the subscript operators

Signed-off-by: Matthias Kretz <kretz@kde.org>
simd_array: many features, esp. casting, implemented

* size() instead of size. Because this makes simd_array compatible with
  the standard container interfaces.
* support all loads, stores, casts, mutable operator[](size_t), gather,
  scatter, setZero(Inverted), masked assignment, abs
* let simd_array skip integral SIMD vectors from AVX because at this
  point AVX::int_v is made up of two SSE operations per called
  operation.
* implement generic cast logic for splitting/merging from vectors of
  different size(). This is more complicated than it should be, but
  consider what is needed to cast from simd_array<double, N> to
  simd_array<float, N>. The former might contain only scalars while the
  latter wraps a single SIMD vector register. A conversion thous
  requires a call to a converting function with N parameters.
* added a few simd_mask_array operations

This refs #611

Signed-off-by: Matthias Kretz <kretz@kde.org>
doc: pick up new files / locations

Signed-off-by: Matthias Kretz <kretz@kde.org>
tests: run some tests with simd_array

Signed-off-by: Matthias Kretz <kretz@kde.org>