sort vectors before using std::set_difference 

discussed in https://github.com/DennisOSRM/Project-OSRM/pull/998#issuecomment-45238338
The vectors are better to be sorted up to ``name_id_comperator`` before running std::set_difference. Elsewhere we get debug checked iterator assertions on Windows and theretically possible incorrect results.
fix and refactor the selection of RouteNames
removed left-overs from win/, i.e. a previous windows porting attempt
guard against an empty alternative path in ExtractRouteNames