Added ManualResetEventSlimTests
Added SpinLockTests
Added ThreadLocalTests
Initial fix for ThreadLocal
Fixed conditional compilation
WaitHandleConsistencyTest doesn't work on .NET

I do not know if there is something wrong with ManualResetEventSlim in
.NET - yet aparenty Mono has decided on a more strict behaviour than
Microsoft.
Added guard in MultipleReferenceToValueTest

Because StackOverflow is nasty enough - yet I still want to fix this -
but can't fix Microsoft's code.
Marked other tests that fail against .NET 4.0

These are Microsoft's fault
Refactor for LazyNeedleText.Waiting

Because assertion in another thread doesn't work
Fix for LazyNeedle in .NET 4.0

Also imporved wait test.
Fix for compatibility of solution file
Fix for ThreadLocal

ThreadLocal will cache exceptions as the documentation says.
Also added protection against recursion in the value factory of the
ThreadLocal.
Fixes for ManualResetEventSlim
SpinLock fixes
Clean up

Unused variables and stuff
Published ThreadLocal.Values and clean up
Fixes to run tests againts different .NET

ThreadLocal<T>.Values does not exist in .NET 4.0 - but it is backported
from .NET 4.5 to .NET 2.0 up to .NET 3.5.

This means that ThreadLocal<T>.Values works in every .NET except .NET
4.0

If need a solution that works in every .NET use
Theraot.Threading.TrackingThreadLocal<T> - it is a drop in replacement.
Fix for ManualResetEventSlim
New tests and fix for ThreadLocal<T>.Values

Fixed the case where the valueFactory throws exceptions, iterating over
Values should ignore those and don't throw exceptions.
Fixed CancellationToken

Passing all tests