Exploiting Iterative Flattening Search to Solve Job Shop Scheduling Problems with Setup Times