Makes IEquivalencyStep use IEquivalencyValidationContext instead of EquivalencyValidationContext
Makes IEquivalencyValidator use IEquivalencyValidationContext instead of EquivalencyValidationContext
Makes TryConversionEquivalencyStep create a new context.

This allows the context to be immutable.
Moves EquivalencyValidationContextExtentions to its own File
Also renames EquivalencyValidationContextExtentions  => IEquivalencyValidationContextExtentions