add .gitignore
implement CLHLock from Herlihy and Shavit section 7.5.2

This first version has the guts for the most part but does not
work correctly.