AcceptableValues now only counts distinct items

This resolves #40. You can see the full affect in the tests, but essentially, the following is now the case:

    var sieve = new EqualitySieve<ABusinessObject>().ForProperty(x=> x.AnInt).
         .ForValues("1, 1, 1, 1, 2, 2, 2, 3, 3, 3")
         .ForAdditionalValue("1")
         .ForAdditionalValues(new[] {1, 1, 2, 3, 2, 3});

    // returns List<int>{1, 2, 3}
    var acceptableValues = sieve.AcceptableValues;