support for dates customization.

- It is now possible to pass the start date, and the race date and the
  resulted program will take it into account.
- clean plan.rb and moved some of the functionality to utils.rb