Add recursive assignment to ISTLVectorBackend
If the wrapped vector type supports assignment from T, then this is used. Otherwise assignment is done by recursively assigning all entries from T. The recursion stops for the first nested entry type which is assignable from T. This allows to do simple assignments from a scalar to initialize vectors in a unified way.