Took the first step of implementing QuickCheck style testing framework.

Basic functionality for generating arbitrary values is done. Next in the list is
implementing the combinators.
Added the monadic operators to IArbitrary<T>
Intermediate commit
Continued developing the property based testing functionality

after quite a long pause.
Tried to compact and remove boilerplate from arbitrary classes.