Make proper use of EXTRA_DEFINES in Makefile

Move $(EXTRA_DEFINES) to its proper home along with all
the other DEFINES
Harden gcc build options by default

-D_FORTIFY_SOURCE=2 -fPIE -fstack-protector-all are added along with
hardening linker flags -pie -Wl,-z,relro -Wl,-z,now.

The non-hardening linker optimisations -Wl,-O1 -Wl,--sort-common
are also added.

For clarity purpises, the gcc section is moved to the top.