Multiple points from Nearest...

Implements part of #1125, and is a correctly targeted version of #1146.
what does the check `number_of_results && i < vector_length` check for? have you considered using `std::min()`? It might be worth also using a range based for with the integer range from `DataStructures/Range.h` like this

```C++
for (const auto i : osrm::irange<std::size_t>(0, std::min(number_of_results, vector_length)))
```