Set IBikeDistributionStrategy access atribute to public, so it van be used in Simulation class.
Implements UniformDistribution that distributes the same amount of bikes among all stations. Remainder bikes are distribute one to each station until there are no more.
Implements TPLL FactoriesInterface, and ArriavalsAtSimulationInit TPLL's Factory to generate TPLL timeSpan arrays load all with the same element send as param.
Refactor: reorders params to improve clarity, adds min(TimeSpan[]) method's documentation. BugFix: min() was skipping first element in the array.
Ti and HV is load into the BikeDistributionStrategy when calling to distribute() and not in the constructor, to allow to set a BikeDistributionStrategy for a simulation to avoid having to sending them twice, to both the Simulation constructor and BikeDistributionStrategy constructor. This is also because, HV's value isn't know until the simulation instance is create, so if the HV is set in the distributionStrategy contructor it cannot be instanciate and passed as parameter to the simulacion contructor as HV value wasn't calculate yet.