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
MapLocation: Add route search button

Make it possible to make simple route searches via location bubbles.
More advanced searches will have to be made via the sidebar.

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
Update: RouteService

 - Make fetchRoute take GeocodePlace instead of a coordinate.
 - emit 'updated' instead of 'change'

Squash with:
  876117b Add RouteService module

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

Remove unneeded parameter

Squash with:
  7d6d3b1 Add Route query model

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

Some changes to the routequery needed for the bind_property stuff that I
didn't anticipate.

 - Change signal from change to updated (and use glib signals)
 - Add setters and getters that does notify() calls
 - some small refactorings

Squash with:
   7d6d3b1 Add Route query model

https://bugzilla.gnome.org/show_bug.cgi?id=728695
routing: GraphHopper interface change for allowing viapoints

Change routing query and interface with GraphHopper service for
adding viapoints support.
Remove query properties to and from and add a new property viapoints
that is a coordinates array.
A query is legal if there are at least two viapoints.

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

Conflicts:
	src/routeQuery.js
	src/routeService.js
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
Others

Conflicts:
	src/mapLocation.js

Conflicts:
	src/route.js

Conflicts:
	src/route.js