Changed the naming of Match clauses
Match clauses were previously built as methods of name
Case<T>(T=>TResult).
They are now of the name
With<T>(T=>TResult)

The semantics remain unchanged.
The change was made for the following 2 reasons.
1. To better match the of the declarative programming style LASI encourages (ex. with heavy its use of Linq queries and, which match expressions are often embedded in as well).
2. To better resemble the Syntax of the F# language which is a CLI language featuring first class Pattern Matching and which works well with LASI. Incidentally, the correctness of the Pattern Matching API implemented by LASI for C# is tested against the corresponding behavior in F# over the same types.