- #3595 sub-items 2 through 4
- handle an indexer name in `ValidationResult.MemberNames`
- aligns `ModelNames.CreatePropertyModelName()` with `TemplateInfo.GetFullHtmlFieldName()`
- handle multiple elements in `ValidationResult.MemberNames`
- later elements previously ignored
- set `ValidationContext.MemberName` to `null` when no property name is available
- using type name for a member name was just wrong