Change name of normalizedAny to normalizedOrSame and added canNormalize to Normalization.
Moved canNormalize and normalizedOrSame to OpenNormalization.
Actually moved the canNormalize and normalizedOrSame methods from Normalization to OpenNormalization.
Renamed OpenNormalization to Normalizer and StringNormalizations to StringNormalizers.
Also renamed StringNormalization to AbstractStringNormalizer and factored it out to
the top level.
Renamed things yet again. This time changed Normalizer to Normality to differentiate it better, and can
suggest the mnemonic "NORMALization for equalITY"
Added an upperCased method to StringNormalizations.
Added NormMethod and its Spec.
Added TolerantEquality trait and spec.
Added Equivalence and made Equality extend it.
Renamed EqualityConstraint to TripleEqualsConstraint, and EqualityConstraints to TripleEqualsConstaints.
Changed names of TripleEqualsConstraints methods, essentially changing appearances of "EqualityConstraint"
to "TripleEqualsConstraint".
Started adding Restricted constraints stuff.
Added constraint methods for equivalence to TripleEqualsConstraints and its subtypes.
Moved default equality implicit back to Equality companion object. added a default implicit
in the Equivalence companion object too therefore. Did this to get the newly created generic TolerantEquivalence.tolerantEquivalence
to not be ambiguous with defaultEquality.
Get rid of some toVectors and other methods that don't exist in 2.9 for the 2.9 build.
Added RestrictedTripleEqualsSpec to 2.9 excludes for now.
Made the A <:< B forms of typeCheckedTripleEquals take an Equality[B] instead of an Equality[A] to
be consistent with typeRestrictedTripleEquals, and made A <:< B use an AToBeEqualityConstraint and
B <:< A use a BToAEqualityConstraint instead of BasicEqualityConstraints, for consistency with Equivalence ones.