Osm2ed improve association of Way to Admin
Osm2ed improve association of Way to Admin

A bit of glossary before I start:
  - Way: An object georef.Way in kraken, it should represent a real
    street
  - street: a street in the real world
  - OSMWay: a Way in the OSM model: https://wiki.openstreetmap.org/wiki/Way
    in our case it will mostly be a
    [Highway](https://wiki.openstreetmap.org/wiki/Highways)
  - Admin: an administrative region with  an
    [admin level](https://wiki.openstreetmap.org/wiki/Key:admin_level)
    equal to 8, corresponding to a city in France.

This PR refer to: https://jira.kisio.org/browse/NAVITIAII-2718
![the problem](https://i.imgur.com/9jgcVIY.png)
A street id cut into two Way in kraken:
  - the green one, associated to the correct admin
  - the red one, associated to two admins

On this picture we also see the house_number associated to these street,
red house_number are associated to the red street and the green one to
the green street.

Almost all house_numbers of this street are associated to the wrong Way
in kraken.
In the autocompletion kraken try to interpolate the position of the
queried house_number by using the existing house_number of this Way.
By example when searching the 115 of this street at Lyon we will be
placed on the 255, not great...

So we have two problems.

First, the street have been divided in two Way because one the OSMWay is
a little bit inside another admin. This is caused by osm2ed: a Way is
created is the fusion of all the OSMWay having the same
[name](https://wiki.openstreetmap.org/wiki/Key:name) inside an Admin.
The Admins of an OSMWay is the list of all the admin of it's Node.

In our [example](https://www.openstreetmap.org/way/380708671) the end of
the way is at the boundary, so the OSMWay is associated to Lyon and
Villeurbanne.

Second problem: the house_numbers aren't associated to the correct Way,
this is caused by the fact that we are handling [AssociatedStreet
Relation](https://wiki.openstreetmap.org/wiki/Relation:associatedStreet)
only partially. This relation is used to group together OSMWays and
house_numbers that are part of the same street. It isn't required to use
it in OSM, so most streets don't use it. We are using it to associate
the house_number to the OSMWay. But since we have created two Way for
this relation we have already lost.

This PR try to improve the association of a Way to an Admin, it's far
from perfect but will fix a lot of edge case like the one in our
example.

I improved a bit `build_way_map()` by ignoring the Admin of an OSMWay
associated to only one of its Node.  This fix the case when only one
Node is at the boundary.
To be safe if an OSMWay is associated to zero admins with this method
there is a fallback to the previous implementation by taking the Admins
of all its Node.

pbougue/navitia,Tisseo/navitia,xlqian/navitia,CanalTP/navitia,Tisseo/navitia,kinnou02/navitia,kinnou02/navitia,kinnou02/navitia,pbougue/navitia,CanalTP/navitia,pbougue/navitia,xlqian/navitia,pbougue/navitia,xlqian/navitia,Tisseo/navitia,CanalTP/navitia,CanalTP/navitia,Tisseo/navitia,kinnou02/navitia,xlqian/navitia,Tisseo/navitia,xlqian/navitia,CanalTP/navitia