Removed Chars() - strings are already IEnumerable<char> anyways, so it was pointless
Added overload of distinct that does a select first
Union should consistently return a new dictionary, even in the simple case
Broke out caching fn for memoize to its own fn
Merge branch 'twu'
Moved to individual subdirectories to allow for other projects in the repo

Also deleted lib/ - we'll move to using nuget for libs
Reference nunit from nuget
Renamed function to be clearer about what it does
Added Nvelope.Reactive - lib for extensions based on MS' Rx library

Rx is Microsoft's Reactive Programming library - the basic idea is
to have a better model for events by implementing them via interfaces,
and then being able to compose and work with them in a LINQ-y style
way.
Some documentation about how to find out more about Rx
Sometimes we don't know the type at compile time - this shouldn't be deprecated
Added _AsType()
Added SingleOr
Added ToList(fn) for converting a dict to list
Added FixedSizeQueue and HasBeenCalledNTimesIn
Removed a bunch of unused/deprecated methods
Removed a bunch more deprecated/unued things
Cleanup a warning
Marked reflective stuff as non-CLS compliant

Eventally, we should rename this stuff to be CLS compliant - there's
no reason they shouldn't be, although I'm not sure how useful they'd
be in other languages.
Centralized Print