Bike park-and-ride

This should fix #1524. Most of the changes have been backported from the ov-fiets branch, but not all (non backported changes are support for the "OV-fiets" mode, ie ending a trip with a rented bike, which need multiple initial start states). This pull-request contains the following:

- Support for bike park-and-ride mode (new vertex and loop edge). Support for dynamic capacity if it is supported by the source (in dynamic mode).
- Bike parking data can be coming from several type of sources:
  - OSM data (either nodes or area tagged with "amenity=bicycle_parking"),
  - Dynamic source (with an implementation reading sources from KML data),
  - Static source from a file (both dynamic and static source rely on the same data sources).
- The ability to use a data-source in either a static or dynamic context has been backported to bike-rental too.
- Make the generic XML downloading stuff more flexible by extracting the XML reading part from the updater using it.

To use it, simply add a bike park data source (or enable staticBikePark flag in OSM builder), and make a plan request with modes "BICYCLE_PARK,WALK,TRANSIT".