Normalized "HACK" comment :P
Fixed TODO

That's what DelegatedCollection was invented for ^_^
Improved LazyBucket

- In Bucket: changed the property Values to the method GetValues and
added an overload that takes a converter
- Where Bucket.Values was used has been updated
- LazyBucket now uses a Bucket<LazyNeedle<T>> and takes advantage of
GetValues
- In LazyBucket: Changed TryGet to Get because Get should not fail but
create a new value
- In LazyNeedle added the interface IEquatable<LazyNeedle<T>>
- In Work: updated to use Get instead of TryGet
Added name in Work.Context
Added ArrayPool
Improved thread naming

If Work has only a dedicated thread there is no need of number
The Work.Context of ArrayPool is called "Recycler"
WeakNeedle<T> now implements IEquatable<...>
Style fix
StructNeedle<T> now implements IEquatable<T>
Put On Pair

Changed properties Pairs to methods GetPairs
Changed properties Values to methods GetValues and added overload that
takes a Converter
Style Fix
FIxed a bug in Work: the string formats were wrong