Introduces the concepts of IFluentAssertionRunner, INegatedAndForkableAssertion, etc.
Plugs the IFluentAssertionRunner for several assertions (in order to validate the design).
Renames and extracts some interfaces into dedicated files (introduction of the IRunnableAssertion).
Removes the IRunnableAssertion argument from the FluentAssertionRunner<T>.ExecuteAssertion method so that it won't prevent us to introduce a new covariant 'Value' property of type T within the IRunnableAssertion interface (indeed, it is impossible to reference a covariant type reference as input arguments if the T is already covariant).
Makes the type parameter T of the IRunnableAssertion interface covariant, and introduce the 'Value' property on this interface.

Makes all the assertions implemented with the IFluentAssertionRunner instance leverage on the 'Value' property of the IRunnableAssertion.
Fixes stylecop issues.
Migrates the BooleanFluentAssertionExtension class to the new assertion runner pattern.
Migrates the DateTimeFluentAssertionExtensions class to the new assertion runner pattern.
Starts to migrates the EnumerableFluentAssertionExtensions class to the new assertion runner pattern.
Migrates the ObjectFluentAssertionExtensions class to the new assertion runner pattern.

Fixes the error messages of IsEqualTo and IsNotEqualTo assertions.
Migrates the StringFluentAssertionExtensions class to the new assertion runner pattern.

Refactors and introduces new methods to generate exception messages (string) within the EqualityHelper and IsInstanceHelper classes.
Migrates the StructFluentAssertionExtensions class to the new assertion runner pattern.

Adds more unit test related to the error messages.
Migrates the TimeSpanFluentAssertionExtensions class to the new assertion runner pattern.

Adds more unit test related to the error messages.
Migrates the EnumerableFluentAssertionExtensions class to the new assertion runner pattern.

Adds more unit test related to the error messages.
Migrates the NumberFluentAssertionExtensions class to the new assertion runner pattern.

Adds more unit test related to the error messages.
At last, gets rid of the Value property on the IFluentAssertion and IStructFluentAssertion interfaces.
Replaces all the "which is not expected" by "which was not expected".
Updates the HowToAddANewAssertion documentation (presenting the new assertion runner approach)

Updates the backlog.
Fixes a hard-coded exception message.