Fixes C issues

Warnings about prototype fixed by explicitely specifying functions take
no parameters.

Aborts child process with exit(1) if execvp() fails (this is because
fork_and_trace() is no longer main(), so returning doesn't exit -- it
finishes the library call and resumes the caller in a fork!).
Passes binary parameter to fork_and_trace()
Updates .gitignore