ENH: add sep argument to DataFrame/Series.explode
Right now both `DataFrame.explode` and `Series.explode` will unnest a list to rows. But most of the times the origin of the problem is that we have a concatenated string with a seperator. So the solution is to overwrite the column while splitting it to a list and then calling `DataFrame.explode`:
```python
df = pd.DataFrame({
    "a":["string1;string2;string3", "string4;string5"]
})
                         a
0  string1;string2;string3
1          string4;string5


df.assign(a=df["a"].str.split(";")).explode("a")
         a
0  string1
0  string2
0  string3
1  string4
1  string5
```
What would be more convenient is to have a `sep`  argument which then checks if the column dtype is "object"  or  "string" and does the splitting itself:

```
df.explode("a", sep=";")

         a
0  string1
0  string2
0  string3
1  string4
1  string5
```
Note: if argument `sep` is given and the column values is list-like, it should raise.