Gtfswrite

Fix #1630 (GTFS write functionality).
The issue with the use case you describe (grabbing a bunch of stoptimes and iterating over them whilst modifying them) is that, unless I misunderstand how MapDB works, the stoptime objects are still in MapDB, so if you edit them the feed may get into an inconsistent state (if you modify MapDB objects after serialization, mapdb's behavior is undefined). I agree that there is no good way to make these things immutable, and I'm not crazy about the constructor myself.