Abstraction of roads (will be used later)

Will be needed because the size of the roads have to adapt to the time
discretization.
For now, we only need the CFL condition (v / l/delta_t) and we always put
more flow at step + 1 to compute the Travel Time at step.
Development of the solver for the User Equilibrium (in Distributor)

The abstraction of the demand has been put in its own package
We can now easily plot data with Plots.plotLineChart()
We have the function to compute the Average Travel Time of a given pools
of car having left at a given step.

TODO:
- Compute the Average Travel Time as the ATT of used roads (if a road in
free-flow is slower than all the others, it should not take into account)
- Modify isOptimal() in order to take into account that fact: it means that
all the non empty roads have the same travel time and all those which has
no flow in it must be slower
- Manage a null gradient: it means we are in the free-flow mode. If it is
faster than other roads we simply need to use it more, if it is slower
we may try to put it to 0