Corrects some warnings
Corrects the name of EquivalencyAssertionOptions.ComparingEnumsByValue
Adding an overload for ContainSingle() having no arguments  to SelfReferencingCollectionAssertions.
Merge pull request #186 from abatishchev/develop

Adding an overload of ContainSingle() without arguments
Merge pull request #177 from vossad01/NormalizeLineEndings

Normalizes line endings
Merge pull request #188 from vossad01/Issue169/CorrectName

Corrects the name of EquivalencyAssertionOptions.ComparingEnumsByValue
Ignored nuget packages
Adds some non-fluent methods in EquivalencyAssertionOptions

I have always found the fluent api confusing when reading within this class creating extra navigation to definitions.  It reads fine when used fluently.  This uses some private methods within the class to improve readability.
Moves default IEquivalencySteps from EquivalencyValidator to IEquivalencyAssertionOptions
Starts to switch the execution of IAssertionRules to be IEquivalencyStep

Conflicts:
	Shared/Equivalency/ShouldAllBeEquivalentToHelper.cs

Conflicts:
	FluentAssertions.Core/Equivalency/EquivalencyAssertionOptions.cs
	FluentAssertions.Core/Equivalency/EquivalencyValidator.cs
Changes ApplyAssertionRulesEquivalencyStep to a more general AggregateEquivalencyStep

Conflicts:
	Shared/Equivalency/ShouldAllBeEquivalentToHelper.cs

Conflicts:
	FluentAssertions.Core/Equivalency/AggregateEquivalencyStep.cs
	FluentAssertions.Core/Equivalency/EquivalencyAssertionOptions.cs
	FluentAssertions.Core/Equivalency/EquivalencyValidator.cs
Changes the Restriction implementation to create an EquivalencyStep instead of an AssertionRule.
Moves classes to individual files
Adds some specs over equivalency configuration appearing in exception messages
Removes AssertionRules member from IEquivalencyAssertionOptions.
It is no longer needed for anything built-in.
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
Corrects an issue wherein Using would apply the assertion rule to the root object.

While ultimately we may want this behavior it deviates from previous behavior.  Additionally it is not implemented correctly for handling the root object.