Improve SmellOfMatcher

- Correctly report no match if smell properties do not match
- Improve message when smell properties do not match
- Clean up code to clearly show different ways matching may fail