Introduce extension method to check if a type inherits from a specified
open generic type
Refactor is concept to use new IsDerivedFromOpenGeneric type.

Now captures Concepts that inherit from other Concepts.
Add TypeExtension to check for IsModelRuleProperty
Make ValidationMetaDataGenerator aware of ModelRules
Expression helper to unwrap a MemberExpression from an Expression
Create name resolvers for FluentValidation that are aware of ModelRule
and Concepts.

Configure FluentValidation to use the new resolvers.