Add Route classes

A Route is an array of Route.Segment and metadata.

A Route.Segment is a lineString (an array of coordinates) that forms
the road until the next segment, a human readable description of how to
continue onto that road and some other metadata.
Add abstract RouteService class

The RouteService class is meant as a base class for
route service classes.
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.
Utils: add isArray-function

Utils.isArray checks if an object is an array. This isn't very
straight forward in JavaScript unfortunately so best to make a
separate function for it.

More information:
 - http://blog.niftysnippets.org/2010/09/say-what.html
 - http://stackoverflow.com/questions/4775722/javascript-check-if-object-is-array
Utils: add isDefined function.

Utils.isDefined returns true if a value isn't undefined or null.
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.
RouteService: Add GraphHopper support

Add support for routing via GraphHopper HTTP REST interface.
MapView: add support for showing routes

WIP! Add:
  * clearing of routes
Make route searches via location bubbles

Make it possible to make simple route searches via location bubbles like
in the designs. More advanced searches will have to be made via the
sidebar.
ZoomControl: init in mainWindow instead

Move initialization of ZoomControl to mainWindow.js. It gets easier to
work with GActions and signals if the different widgets are all glued
together in mainWindow.
MainWindow: move Overlay to ui-file

Move the GtkOverlay to main-window.ui and remove the unnecessary GtkGrid.
WIP Add sidebar support