Gtfswrite

Fix #1630 (GTFS write functionality).
I'm a bit wary of nested generics. I find it's generally better to make the inner ones named types for clarity. Considering that Shape already contains the shape_pt_sequence integer, do we really need a map here? Can't this just be a multimap from String IDs to Shapes, or a Map from String IDs to a new class that contains simple lists of Shape points?