Use better company backends for C common modes

Prefer clang if possible then semantic, and finally
gtags in a separate group so we get smart completions
first if possible then 'dumb' ones since gtags is not
context sensitive.