Option to allow LazyNeedle to cache exceptions
Just clean up
Removed Tests project form all build configurations

Build Tests separately - it is set to use the version of Theraot.Core
for .NET 2.0 (so it can test more of the added code) - this is done by
relative path.
Added TupleTest
More tweaks for running tests

- Added Tests to build only on "Debug" configuration
- Marked Core as an explicit dependency of Tests
- Made tests reference the debug version by path
- Made Core on Debug build against .NET 2.0 - you can change it to run
tests against other versions.
Fixed Tuple
Added StructurealComparisonsTest
More tests for StructuralComparisons
Fixed StructuralComparisons
Added LazyInitializer and tests from Mono
Added VolatileTest all ok
Added EnumerableAsQueryableTest

This are tests for linq - currently failing 1 test
Added LookUpTest
Added EnumerableGroupByTestEx
Initial fix for Lookup
ArrayPool will provide an empty array of T
TypeHelper.EmptyTypes will use ArrayPool
ArrayPool will use Type.EmptyTypes when T = Type
Build fix - little overlook in recent commits

The internal field _emptyObjects in TypeHelper no longer exists.
ArrayPool will start the recycle work lazily