Raptor: Freq vj

Split vehicle journeys in 2 different subclasses:

* DiscreteVehicleJourney

  the 'classic' vj
* FrequencyVehicleJourney

  the frequency vj with start, end and headway as additional informations

This has been done:
* to reduce the size of the VJ (we removed 3 useless fields for DiscreteVJ, the most used kind of VJ)
* to reduce the size of the departure/arrival raptor structures (we now only store discreteVJ stoptime, no frequencyVJ stoptime)
* to better handle frequencies (there was some bug in the way frequencies were handled)

The 2 kind of VJ are handled 2 different way in raptor (in best_stop_time to be precise):
* DiscreteVJ are handled as usual with a departure/arrival sorted vector on which we loop through to find the best stop time (seenext_valid_discrete_pick_up /previous_valid_discrete_drop_off)
* FrequencyVJ are handled for the moment in a naive way

   We loop through all the jpp's vj to find the next one.
   We can use more clever data structure if needed

That's quite complicated, if next_valid returns the good thing, just a "max" is enough.