Drop the deb-src for clang.

The llvm.org/apt repo currently has an issue with the source packages,
and we don't need it on Travis anyways.
Extract path.c from misc1.c
Move remove_duplicates to garray.c
add features.h to be able to use func attribs

Currently enables these for every gnu-like compilers, i.e.: gcc, clang and
icc.
use function attributes on allocation functions

This should allow gcc/clang/icc to generate better code and clarifies
function intent.