New draft for the flow-shop chapter.

Latest changes according to feedback from @mdibernardo and a completed chapter draft.
I'm struggling to decode this line, especially since at this point we don't know the semantics of the output of `compile_solution()`. Would that make sense that move the section about `compile_solution()` before this section? Or at least define what a scheduling is and the underlying data structure we are using to represent it.

(hey there, I'm the second reviewer, I hope I'm not too late)