Swapping with unassigned shifts

Users can now assign an employee an open shift and simultaneously unassign that employee's existing shift in a single transaction.