Traits: support old C++11 w/o SFINAE iterator_traits
Traits: support old C++11 w/o SFINAE iterator_traits

C++11 originally didn't require iterator_traits to be SFINAE-friendly.
Therefore, the use of has_contiguous_storage could lead to compile
errors. The solution is to just not use iterator_traits (it would
support a customization point for iterators without iterator_category
member type, but I don't care enough for that use-case) and look at
iterator_category directly.

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

VcDevel/Vc,chr-engwer/Vc,VcDevel/Vc,chr-engwer/Vc,VcDevel/Vc,chr-engwer/Vc,VcDevel/Vc