Fix timezones

This is should fix problems of negative stop_times.
This is not meant to be merge right now, just for you to have a look and criticize.
You don't like `boost::find_if`?