Auto-Generated columns

If columns is omitted, and web component figures it out as best it can.

	<sortable-table>
	[
		{ fruit: 'apple', alice: 4, bill: 10, casey: 2 },
		{ fruit: 'banana', alice: 0, bill: 4, casey: 0 },
		{ fruit: 'grape', alice: 2, bill: 3, casey: 5 },
		{ fruit: 'pear', alice: 4, bill: 2, casey: 8 },
		{ fruit: 'strawberry', alice: 0, bill: 14, casey: 0 }
	]	
	</sortable-table>	
	
[ { fruit: 'apple', alice: 4, bill: 10, casey: 2 }, { fruit: 'banana', alice: 0, bill: 4, casey: 0 }, { fruit: 'grape', alice: 2, bill: 3, casey: 5 }, { fruit: 'pear', alice: 4, bill: 2, casey: 8 }, { fruit: 'strawberry', alice: 0, bill: 14, casey: 0 } ]

Auto-Generated columns should accept missing fields

If some rows are missing column fields, or named columns are out order things should still work.

	<sortable-table>
	[
		{ fruit: 'apple', bill: 4, casey: 2, alice: 4 },
		{ alice: 0, bill: 4, fruit: 'banana', daisy: 0 },
		{ fruit: 'grape', alice: 2 },
		{ ellie: 2, alice: 4, fruit: 'pear' },
		{ fruit: 'strawberry', daisy: 2, bill: 14 }
	]	
	</sortable-table>	
	
[ { fruit: 'apple', bill: 4, casey: 2, alice: 4 }, { alice: 0, bill: 4, fruit: 'banana', daisy: 0 }, { fruit: 'grape', alice: 2 }, { ellie: 2, alice: 4, fruit: 'pear' }, { fruit: 'strawberry', daisy: 2, bill: 14 } ]