Switch to automatic header dependency management.

No more manually maintaining what files depend on what headers - use GCC to tell
you!
Make dep gen do it in one invocation.
Allow additional CFLAGS on the command line.
Don't use -pthread.
OSX: Use clang.
Add vim swap files to gitignore.
Merge branch 'makefile-improvements' of https://github.com/jorgenpt/mek.lu into jorgenpt-makefile-improvements

Conflicts:
	Makefile
Merge branch 'jorgenpt-makefile-improvements'