* afbjorklund/everything:
Make configure work with older clang versions
Add option for enabling more compiler warnings
Add configure support for detecting clang
Avoid bad function cast by using temporary
Proper use of const qualifier char* strings
Removed locally shadowed global variables
Don't use undefined macros, use ifdef instead
Add noreturn to functions that don't return
Add missing extern prototypes, or make static
Don't use reserved id macros in the headers
Only compile getopt_long.c when needed
Address issues found by lgtm.com alerts