Sortable Table using Polymer Web Components

# 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 } ]