ADD AtomicMarkableReference class spec
ADD implement atomicmarkablereference

Conflicts:
	task2/src/cuckooset.hpp
TMP commit to merge

Conflicts:
	task2/src/cuckooset.cpp
	task2/src/cuckooset.hpp
ADD refined cuckoo hash set

Conflicts:
	task2/src/cuckooset.cpp
	task2/src/cuckooset.hpp
FIX accessing locks
FIX attemptMark() now returns correct value
DOC todos
REF cleanup
REF more cleanup
FIX backup check in resize()
FIX attemptMark() now really returns correct value
ADD move 2 d lock array to seperate class
FIX, REF avoid problems with pointers by using cuckoolock instead of nasty std::recursive_mutex *(*the_lock)[2]
REF cleanup DOC
FIX delete cuckoolock in destuctor of cuckooset
relocate() does not work without a lock

The Java algorithm accesses the first bucket without a lock (which I
believe is an error), and only then locks the retrieved item. We can't
do that in C++ since the first bucket may be deleted by another thread
before we manage to access it since we don't actually hold a lock.
Move AtomicMarkableReference implementation to cpp
Tweaks in CuckooLock
Indentation in CuckooSet
Fix compiler warnings