Added more robust ControlParameter detection.

This is a fix for issue #177 : The ControlParameter detector is inconsistent.

I have covered all cases presented by Politician in his first two message's code samples. These cases have been covered (along with other cases of my own) in rspec tests. 

I am not happy with the changes to the smell detector but I am unsure how to make it better.