Generate stops, trips & stop_times from route_stops & trip_times

#### route_stops.txt

* agency_id
* route_id
* shape_id
* stop_sequence
* (other `stops.txt` fields)
* arrival_offset (optional)
* departure_offset (optional)
* (other `stop_times.txt` fields)

#### trip_times.txt

* route_id
* service_id
* start_time
* (other `trips.txt` fields)

--------

From the above input files, we can generate:

* `stops.txt`, with duplicates within a certain (configurable) distance flattened
* `trips.txt`, automatically numbered sequentially by route/service
* `stop_times.txt` for all trips, with stops identified by route/shape