remove some code lint
remove duplicate edges from NodeBasedGraph
fix short variable names and long lines
Fixes build using gcc 4.9 with LTO.

Otherwise sem_close is not found.
add more comments and rename a couple of badly named variables
Merge pull request #1051 from TheMarex/linker-fix

Fix linking for linux
make sure result is always > 0, hits when origin and destination are on the same one-way segment in reversed order
include <string> as it is needed
simplify static asserts

Simplify static asserts to make them compatible with older compilers and MSVC 2013
Merge pull request #1063 from alex85k/patch-6

simplify static asserts
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
Add more Boost libraries on Windows, fix TBB debug linking, stop building
on old Microsoft compilers
fix includes and definitions (avoid unistd.h, isatty, fix min,max, round and M_PI)