Enhanced list-to-dataframe conversion

New implementation is just as robust (capable of handling inconsistent
list element contents), but much faster.