decoupled the reorder column functionality into its own method

Changed the manner in which columns are reordered after drag-n-drop. Instead of making the `tbody` columns match the indexes returned by the draggable event handler, we're doing it by using the `th` `data-id` property