AsyncEnumerable.Take: Dispose source AsyncEnumerator as soon as possible, i.e. when it's clear that MoveNext will not be called again on that enumerator. The rationale behind this is:
1) Observable.Take disposes subscription on source as soon as n elements are observed, not when n+1 elements are observed (or source completes/faults).
2) We want to free resources as early as possible.
3) The outer enumerator may not be disposed at all. While this is clearly the user's fault, in this case, Ix can (and should) ensure that the source enumerator is disposed anyway.
4) From the unit tests, it seems that nothing depends on the current behaviour.
Profile78 => Profile259, which is the same profile without WCF
Profile78 => Profile259, which is the same profile without WCF, for Ix.Net
Merge pull request #9 from Blewzman/AsyncEnumerableTakeDisposeEarly

AsyncEnumerable.Take: Dispose source AsyncEnumerator as soon as possible...
Merge pull request #10 from paulcbetts/universal-plib

Profile78 => Profile259, which is the same profile without WCF