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'
 - Some if() => if ()

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
 - Some if() => if ()

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

Conflicts:
	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