safeguard: do not read/write 0 bytes (iostream)
get char* from boost::filesystem::path
Merge pull request #1065 from alex85k/patch-skip-zero-rw

skip zero bytes reading or wrtiting
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
Merge pull request #1066 from alex85k/patch-path-cstr

Obtain char* from boost::filesystem::path on all systems
make some constants explicit floats to cut down on MSVC conversion warnings
removing constexpr at one position
fix a couple of implicit signed/unsigned conversions
const as const can
remove superflous include
remove another superflous include
Use differential encoding for name indices
Added diffencoding benchmark
Move RangeTable to town datastructure
Add SSE code as template option
Fix RangeTable
Fix diffencoding benchmark