Language Specific Rules

A prototype for issue #114 - introduction of a mechanism that runs analyses only on top of applicable languages. By default, all C, C++, and Objective-C languages are analyzed, but by overriding `supportedLanguages` method, rule developers can easily control the supported languages, and avoid false positives. 

@Jarod42, you may want to take a look at this implementation.