Add utility methods for sequences and maybies.

Add extension methods ToNullable and ToClass to Maybe<T> to return
nullable struct and reference type values.

Create a NonEmptyEnumerable<T> class and associated interface to represent
non-empty sequences.

Create Seq utility class for creating sequences.

Create Scan extension method on sequences to yield a sequence of intermediate
values returned from an accumulator function.