Added POSIX_TIMERS alternative for eval timer

Added timer_settime/timer_gettime alternative implementation
for eval_cost.  This fixes the issue where get_eval returns
negative numbers when the elapsed wall time is greater than
the CPU time spent.

The reason for using POSIX timers rather than merely adding
a getitimer() call to the default implementation is better
precision.  On Linux, the values returned by getitimer()
are rounded off to the nearest jiffy (1/250 of a second),
whereas the POSIX timers have nanosecond precision.