Refact timing method for benchmarking threads

Turns out I was using the wrong method for doing timing, I was timing
using the CPU clock, which from the CPU perspective of course the
threaded version was going to be more than the single thread version. So
with the following changes it now shows the threaded version of the code
is roughly 2x faster. But that is still a bit unsatisfactory, further
tests need to be done to see if that is because my laptop only has two
cores.
Add struct regression_data

The idea is to hopefully replace struct thread_data, so that it can be
problem specific.
Update ycm config to ignore time.h errors