Added OneTraitPerFile sniff (with test)
Some refactoring on One*PerFile sniffs: moved common code to abstract class in order to prevent copy-paste