Add a system of tag to set the violation location in tests.
Rule preventing assigning an ivar outside of getters/setters/init.
Add MustCallSuper rule
Fix comments from review on ObjCVerifyMustCallSuperRule
Fix comments from review for ObjCAssignIvarOutsideAccessorsRuleTest
FeatureEnvyRule from scaffold
PropertyTest for FeatureEnvyRule
Implement FeatureEnvy

For each ObjC method scan for message expressions.  Count the number of
messages objects of each class receive.  Self should be messaged most else
the class envies another.
Remove unnecessary test fixtures from FeatureEnvy
More FeatureEnvy tests
Clean up dogfooding violations in FeatureEnvy

* Long line
* Short variable name

Extract a new method, description, to handle building up the violation
description.
Remove useless comment.
Count Ivar accesses as FeatureEnvy
Count property access as FeatureEnvy
Don't count selectors toward FeatureEnvy
Count CXX member function calls for Feature Envy
FeatureEnvy: Fix handling of dynamic properties.

There's no Ivar in this case.  So instead, just consider the setter and
getter methods and the interface that contains them.
Fix brace style
Fix FeatureEnvy handling of class methods

Use getReceiverKind to determine if the receiver is an instance or class.
Refeactor FeatureEnvy VisitObjCPropertyRefExpr

Split member function up into smaller functions.