Add EPAF decoder

Add a decoder for Encoded Polyline Algorithm Format (EPAF).

EPAF is a Google format for space efficient serialization of
coordinate series. Both OSRM and GraphHopper uses it for encoding
their routes.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
HTTP: add a HTTP helper module

Http.Query is a class for easy construction of HTTP query-lines,
that is the part after '?' and before '#' in an HTTP URL.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Add Route result model

The Route result model encapsulates all data that makes a route in our
application.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Add Route query model

The Route query model encapsulates all data that makes up a route
request query in Maps.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Add RouteService module

Add a RouteService module with a GraphHopper class as only
implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Application: make RouteService a global

Make the route service a global service.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Mapview: Add support for showing routes

Connect to the route model and when it changes also update the map.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Make GeoClue a global service

Move GeoClue out from mapView and put it together with the other services.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
MapView: cleanup _init

Split out some of the mapView initialization into its own _init* methods.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Split out geocode to its own service

This is needed for when you want to perform a geocode query without
access to MapView.

https://bugzilla.gnome.org/show_bug.cgi?id=728695
Add a sidebar for route interaction

This is a total re-implementation of the sidebar for searching and
interacting with routes.

https://bugzilla.gnome.org/show_bug.cgi?id=728695