Issue #1206 - DefaultBodyModelValidator throws if get accessor throws.

Issue #1206
Fix: Introducing ExcludedValidationTypes in MvcOptions so that the user can exclude types which throw during Validation.
This needs to be made an extension method. At that point, it might be safer to represent `ExcludedValidationTypes` as a custom delegate. Also the property `ExcludedValidationTypes` needs to be changed to represent that we're dealing with Funcs and not regular types.

```C#

public List<TypeExcludedFromValidationPredicate> ExcludeFromValidationPredicates

/// Adds a predicate to the list that excludes the type and any derived type from being validated.
/// <remarks>This currently only works on types that are bound using formatters</remarks>
public TypeExcludedFromValidationPredicate Add(this IList<TypeExcludedFromValidationPredicate> list, Type type)
{
    list.Add(t => t.IsAssignableFrom(type));
}

options.ExcludeFromValidationPredicates.Addd(typeof(XmlNode));
...
```