Handle errors from realloc

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
Use config.h to pass DEFAULT_*_FILE instead of compiler switches

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
Use temporary directory for the socket

Make it possible for multiple users on the same machine to run bear at the same
time without using the -s switch.

Signed-off-by: Sebastian Ramacher <sebastian+dev@ramacher.at>
add static to module only methods
bump up version number to 0.5
add bear prefix to perror messages
fix temporary socket dir problem
use config.h macros
move defines into config.h.in
use pragma once instead of include guards
fix bug introduced by report filtering

On OS X some exec call would produce duplicate entries in the output.
Since one of those call is doing multiple attempt to execute the same
command, with different PATH prefixes.

  execvp("/usr/local/bin/g++", ["g++", "-c", ...]); -> no such file
  execvp("/usr/bin/g++", ["g++", "-c", ...]); -> succeed

On the other hand GNU make is doing vfork() many places to speed up
the compilation, since it gonna do exec() anyway. But this cause no
reset on the already_reported flag.

This commit introduce vfork() to override from libc, and simply call
fork() to solve the flag problem.