Added API method in the Router API to save graph to disk
hard-wire LongDistancePathService to use GenericAStar with 3 paths
Let the user define the walkBoardCost and the bikeBoardCost in a request.
Add range checking to walkBoardCost and bikeBoardCost
Add API-parameter bannedStopsHard to ban a stop in such a way that it is not possible for transit to drive through the stop.
Added unit test for API-parameter bannedStopsHard
Update comments in StoptimeUpdater
fix stopIndex/hopIndex mixup
fix patch expiring

* PatchServiceImpl#expire: remove patches from patchesByRoute using the
correct key
* add PatchService#getAllPatches
* Edge#removePatch: fix patch removal
* add simple tests
GTFS-rt Alerts: keep track of feed timestamps
TransitIndex: warn if the parentStation is missing
TransitIndexService: don't iterate over all trips in a pattern

since all trips in a pattern should have the same route
evict graphs (+stop updaters) when stopping the servlet
Trip Plan: return the servicedate along with the itinerary
gtfs-rt: use PARSER instead of Builder for parsing messages

per the documentation:
"Added Parser to parse directly into messages without a Builder. For
 example,
   Foo foo = Foo.PARSER.ParseFrom(input);
 Using Parser is ~25% faster than using Builder to parse messages."
Use Guava instead of own copyStreams method
Merge pull request #1218 from jkoelewijn/mergeModulesSaveGraphApi

Added API method in the Router API to save graph to disk (in merge_modules branch)
Merge pull request #1217 from jkoelewijn/mergeModulesDefineBoardCosts

Define board costs (in merge_modules branch)
Merge pull request #1219 from jkoelewijn/mergeModulesBanStopsHard

Ban stops hard (in merge_modules branch)
Merge pull request #1220 from bplanner/merge_modules

assorted bugfixes + improvments