Merge pull request #11 from theraot/Develop

Develop
Just a suppression

Tests has "bad" code - because it needs to test some bad usage.
Hidding the exception
Actually Removed these

Maybe they will resurrect as another project someday.
Pokemon and Dispose review
Namespace fix
Conversion instead of Convertion
Rename ConvertionEqualityComparer.cs to ConversionEqualityComparer.cs
Fixed build
Made Work IClonable<work>

It did already have "public Work Clone()"
Removed not needed Uncreate method

Use Free instead
WeakReference<T> doesn't have a Target property

WeakReference has Target and IsAlive but WeakReference<T> doesn't.
Small review
Renaming and Rearranging

CurrentThreadIsWriter to IsCurrentThreadWriter
CurrentThreadIsReader to IsCurrentThreadReader
More review

Removing not needed code
Using ReferenceEquals
ArrayPool and ArrayReservoir

ArrayReservoir is a proxy for ArrayPool allowing to make a cut for not
FAT builds. Yet ArrayReservoir will handle EmptyArray and so it is no
longer needed in ArrayPool.
Fixed tests to match renamings ReadWriteLock
No more IPromised nor IPromsed<T>

IPromise and IPromise<T> are still there

Also TrackingThreadLocal and NoTrackingThreadLocal implementation of
Observer<T> will allow to set the instance to an exception.
LazyBucket replaced with NeedleBucket