Removes state check before calls to `Current` in SingleEnumerable Enumerators.
Removes state check before calls to `Current` in SingleEnumerable Enumerators.

See IEnumerator<T>.Current on MSDN: https://msdn.microsoft.com/en-us/library/58e146b7(v=vs.110).aspx
Current is undefined before the first MoveNext or after the last MoveNext returning false. Instead of throwing in these cases, and adding unnecessary overhead all other legitimate use cases, simply blindly return `_element`.

Those who play by the IEnumerable<T> contract will see nice gains, and those who don't will see a new form of undefined behavior, rather than exceptions.

Eyas/Ibra