ENH: Series.str.split can return a DataFrame instead of Series of lists

closes  #8428.

Adds a flag which when True returns a DataFrame with columns being the index of the lists generated by the string splitting operation.  When False, it returns a 1D numpy array, as before. Defaults to false to not break compatibility. 

In the case with no splits, returns a single column DataFrame rather than squashing to a Series.


"array with one dimension" -> "series" ? (it does return a series no?)

very minor: "Boolean" doesn't need a capital B (that is more consistent)