Fix for issue #100 - Changes to Tolerance definitions

Created unit tests for Tolerance adding tests for the changes I made plus a few for parts of the class that I felt weren't fully tested.

Renamed Tolerance.Empty to Tolerance.Default and added a Tolerance.Exact which means the default will not be used. I also renamed ToleranceMode.None to Unset to better specify its purpose.

While I was adding the unit tests to the solution, I found that the CollectionsEqualsTests.cs was not included in several of the projects, so I added it.
Merge pull request #104 from nunit/issue-100

Fix for issue #100 - Changes to Tolerance definitions

This looks good to me... Lots of files affected by this small change, so everyone should update.