Add support for public transit

Add GTFSReader which generates time-expanded graph from gtfs files. New
encoder and filter which are needed for traversing the graph. Support
for basic routing.