Two more changes to RemoveUnusedClassProperties
1) Legacy Closure style code often defines value on the prototype, we want to remove those if it is the only other property set. Previously we would leave them and the RemoveUnusedPrototypeProperties pass would remove them, but now that we would otherwise back off in the face of them we want to remove them.
2) If someone is reflecting on the class using goog.reflect.object we want to preserve the property, so we back off if any object literal definition is present, this is consistent with backing off with other property sets.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=49502148
Tighten the suspicious-comment check to avoid false positives.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=49503714
Automated g4 rollback.

*** Reason for rollback ***

breakages

*** Original change description ***

Two more changes to RemoveUnusedClassProperties
1) Legacy Closure style code often defines value on the prototype, we want to remove those if it is the only other property set. Previously we would leave them and the RemoveUnusedPrototypeProperties pass would remove them, but now that we would otherwise back off in the face of them we want to remove them.
2) If someone is reflecting on the class using goog.reflect.object we want to preserve the property, so we back off if any object literal defin
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=49509411