Don't wrap values with ReactTextComponent in traverseAllChildren (cloneWithProps)

Fix for #1962

Moves wrapping with `ReactTextComponent` to `flattenChildren` instead, where it belongs.

Also very minor code fix-up. Also worth mentioning that the flattening done by `cloneWIthProps` messes with the reactids, so while the idea is to avoid unnecessary allocations I assume, it does affect outcome (i.e, you can't conditionally use `cloneWithProps` without all components remounting).
Failing lint because these names (`nextName`, `nextIndex`) are used above. Perhaps just define above the whole conditional.