Added WeakReferenceTest - all tests pass
Added CancellationTokenSourceTest

Removed test that uses Task - because I don't have Task yet.
Renamed LazyInitializer
Added CancellationTokenTests
Added CountdownEventTests
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