Flatten array-likes, not strings

I noticed a bit of an inconsistency with `_.flatten` on strings.

```javascript
_.flatten('testing'); // => ["t", "e", "s", "t", "i", "n", "g"]
_.flatten('testing', true); // => ["t", "e", "s", "t", "i", "n", "g"]
_.flatten(['testing']); // => ["testing"]
_.flatten(['testing'], true); // => ["testing"]
```

This fixes it so flatten does not convert a string to its corresponding chars. Array-likes can now also be flattened, but that's more of a side-effect that can be removed from the PR if that's not wanted.