Add stricter compiler warnings to build system.
Add stricter compiler warnings to build system.

These are for standard compliance and should on by default:

    -Wall -Wextra -pedantic

The problem is that even `-Wall` and `-Wextra` does not cover all
warnings, as to not break backward compatibility. Clang therefore
has the `-Weverything` flag, that really includes everything but is
overkill for the day to day development.

Thus, we in addition add:

    -Wuninitialized -Wunreachable-code

to guard against undefined behavior from reading uninitialized variables
and warn for unreachable code.

With:

    -Wstrict-overflow=1

the compiler warns us when it's doing optimizations based on the fact
that signed integer overflows are undefined behavior.

With:

    -D_FORTIFY_SOURCE=2

we tell the compiler to replace functions like strcpy with strncpy where
it can do so, resulting in cheap and useful buffer overflow protection.

References:

- https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html
- https://securityblog.redhat.com/2014/03/26/fortify-and-you/
- https://wiki.debian.org/Hardening

frodrigo/osrm-backend,felixguendling/osrm-backend,Project-OSRM/osrm-backend,hydrays/osrm-backend,deniskoronchik/osrm-backend,bjtaylor1/osrm-backend,bjtaylor1/osrm-backend,duizendnegen/osrm-backend,neilbu/osrm-backend,beemogmbh/osrm-backend,arnekaiser/osrm-backend,KnockSoftware/osrm-backend,oxidase/osrm-backend,neilbu/osrm-backend,beemogmbh/osrm-backend,oxidase/osrm-backend,yuryleb/osrm-backend,deniskoronchik/osrm-backend,hydrays/osrm-backend,deniskoronchik/osrm-backend,duizendnegen/osrm-backend,hydrays/osrm-backend,felixguendling/osrm-backend,raymond0/osrm-backend,raymond0/osrm-backend,Project-OSRM/osrm-backend,duizendnegen/osrm-backend,Project-OSRM/osrm-backend,KnockSoftware/osrm-backend,oxidase/osrm-backend,hydrays/osrm-backend,beemogmbh/osrm-backend,deniskoronchik/osrm-backend,bjtaylor1/osrm-backend,Project-OSRM/osrm-backend,arnekaiser/osrm-backend,neilbu/osrm-backend,yuryleb/osrm-backend,felixguendling/osrm-backend,KnockSoftware/osrm-backend,frodrigo/osrm-backend,raymond0/osrm-backend,duizendnegen/osrm-backend,KnockSoftware/osrm-backend,neilbu/osrm-backend,yuryleb/osrm-backend,bjtaylor1/osrm-backend,frodrigo/osrm-backend,oxidase/osrm-backend,yuryleb/osrm-backend,arnekaiser/osrm-backend,arnekaiser/osrm-backend,frodrigo/osrm-backend,beemogmbh/osrm-backend,raymond0/osrm-backend