Implemented some unit tests.

Fixed a bug in the Pronoun class.

Added a new custom control structure to the Utilities assembly ->
class Match:
 Matches on types, (similar to the extant typed switch but enforcing the existence of a common type for each case at compile time), and returns a value:
ex:
var word = myDocument.Words.First();

double result = Match
                .From<Word>(word).To<double>()
                .With<Noun>(n => {
                    return n.Weight;
                })
                .With<Pronoun>(p => {
                   return p.EntityRefererredTo.Weight;
                })
                .Default(() = > {
                   return 1.5;
                })
                .Result;