Release _collection of violation sets in ~Results
Simplify getStmtDepth(Stmt *) since `stmt` is checked in depth(Stmt *) already
Leverage TraverseStmt return value to make code cleaner
Fixed memory leak by releasing local variable in UnnecessaryElseStmtRule
Explicitly cast TraverseStmt/TraverseDecl to void
Removed useless type qualifier on return type
Use exception to replace int return type
Extract preprocessing logic into a separate method; introduce new return code ERROR_WHILE_REPORTING
Merge pull request #28 from lqi/master

Code Quality Enhancements