Introduce Yoda Conditions Sniff and Unit Tests

I already updated the code to mark them as errors. I think a more objective
way of deciding the difference between and error and a warning would be
good.