Add PatternGrammar class (under implementation)

Add PatternGrammar class which is for pattern matching.
Fix a bug in DispatchExpression, update CommonExtensions

Fix a bug about type inferring in DispatchExpression, for delegate objects
which is not passed as variables, etc, not lambdas.
Update CommonExtensions.