Change shift-click selection

 * Shift-click selection now selects a range from the last clicked element to the current selected.
 * Selected is cleared before shift-click range selection occurs.
 * Shift-clicked row is never marked as the last clicked row.