Actual liblfds work – shock, surprise!

Shockingly, I’m actually do some liblfds work!

The hazard pointer implementation has a bug.

The tests for the implementation pass – but the hazard pointer-using freelist sometimes finds the freelist has a loop, when it comes to clean up the hazard pointer state.

Only happens when you come to deregister the threads. Mmm.