Improve proto2 field access performance by removing 'in' checks wherever possible.  This is functionally equivalent to the old code since each of the previous checks went on to look for null values as well.  However, this improves performance ~5x.
Improve proto2 field access performance by removing 'in' checks
wherever possible.  This is functionally equivalent to the old code since each of the previous checks went on to look for null values as well.  However, this improves performance ~5x.

Note that this CL adds a performance test, but the before/after comparison for the test is less than 5x (actual results ~60ms down to ~40ms).  I believe this is because the test doesn't compile out the asserts, and some of those calls (especially goog.isArray) are quite expensive and dominate the time measurement.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=50618848

joeltine/closure-library,Dominator008/closure-library,kangkot/closure-library,Tinkerforge/tvpl-closure-library,neraliu/closure-library,manakor/closure-library,igrep/closure-library,lewistg/closure-library,concavelenz/closure-library,Dominator008/closure-library,platinumpixs/google-closure-library,gfredericks/closure-library,platinumpixs/google-closure-library,mail-apps/closure-library,mmazaheri/closure-library,mail-apps/closure-library,concavelenz/closure-library,alexg-dev/closure-library,nicks/closure-library,mrourke/closure-library,gfredericks/closure-library,jooking/closure-library,jvu/closure-library,AlexanderZon/closure-library,Luzzifa/closure-library,yathit/closure-library,chrisprice/closure-library,teppeis/closure-library.old,real/closure-library,bebbi/closure-library,fivetran/closure-library,redforks/closure-library,ominux/closure-library,concavelenz/closure-library,moagrius/closure-library,Luzzifa/closure-library,moagrius/closure-library,gingerik/closure-library,kangkot/closure-library,rikuayanokozy/closure-library,ikabirov/closure-library,nicks/closure-library,ikabirov/closure-library,JasOXIII/closure-library,lucidsoftware/closure-library,sevaseva/closure-library,Tinkerforge/tvpl-closure-library,jooking/closure-library,wenzowski/closure-library,fivetran/closure-library,manakor/closure-library,Medium/closure-library,AlexanderZon/closure-library,google/closure-library,ducklord/closure-library,jupeter/composer-closure-library,gterzian/closure-library,mmazaheri/closure-library,chone/closure-library,federkasten/closure-library,google/closure-library,jeffbcross/closure-library,kencheung/closure-library,yathit/closure-library,gfredericks/closure-library,JasOXIII/closure-library,yathit/closure-library,Dominator008/closure-library,jooking/closure-library,kencheung/closure-library,gterzian/closure-library,ralic/closure-library,wagjo/closure-library,ikabirov/closure-library,Ju2ender/closure-library,manakor/closure-library,jeffbcross/closure-library,teppeis/closure-library,Prinhotels/closure-library,wenzowski/closure-library,grpbwl/closure-library,vlkous/closure-library,sunilkumargit/closure-library,mrourke/closure-library,Anish2/closure-library,gingerik/closure-library,redforks/closure-library,plu83/closure-library,jeffbcross/closure-library,grpbwl/closure-library,bebbi/closure-library,gingerik/closure-library,maureknob/blockly-maure,vlkous/closure-library,nicks/closure-library,rikuayanokozy/closure-library,nanaze/closure-rhino-fork,vlkous/closure-library,AlexanderZon/closure-library,alexg-dev/closure-library,AlastairTaft/closure-library,ChadKillingsworth/closure-library,igrep/closure-library,teppeis/closure-library.old,redforks/closure-library,moagrius/closure-library,ikabirov/closure-library,closure-library-geeks/closure-library-jp,jeffbcross/closure-library,lewistg/closure-library,Aniaf/fkorboukh-js-new,real/closure-library,igrep/closure-library,neraliu/closure-library,JasOXIII/closure-library,google/closure-library,neraliu/closure-library,jupeter/composer-closure-library,ominux/closure-library,closure-library-geeks/closure-library-jp,ducklord/closure-library,lucidsoftware/closure-library,jvu/closure-library,Anish2/closure-library,sunilkumargit/closure-library,chrisprice/closure-library,lewistg/closure-library,Prinhotels/closure-library,Luzzifa/closure-library,valerysamovich/closure-library,grpbwl/closure-library,yathit/closure-library,vlkous/closure-library,ducklord/closure-library,real/closure-library,Prinhotels/closure-library,mrourke/closure-library,federkasten/closure-library,teppeis/closure-library,Medium/closure-library,Prinhotels/closure-library,kencheung/closure-library,valerysamovich/closure-library,Ju2ender/closure-library,beni55/closure-library,mail-apps/closure-library,jbnicolai/closure-library,Ju2ender/closure-library,codyebberson/closure-library,Aniaf/fkorboukh-js-new,lucidsoftware/closure-library,beni55/closure-library,gterzian/closure-library,redforks/closure-library,sevaseva/closure-library,Anish2/closure-library,Aniaf/fkorboukh-js-new,vincenta/closure-library,ralic/closure-library,teppeis/closure-library.old,jbnicolai/closure-library,concavelenz/closure-library,bebbi/closure-library,beni55/closure-library,wagjo/closure-library,ChadKillingsworth/closure-library,real/closure-library,vincenta/closure-library,vincenta/closure-library,platinumpixs/google-closure-library,codyebberson/closure-library,wagjo/closure-library,alexg-dev/closure-library,ralic/closure-library,plu83/closure-library,jupeter/composer-closure-library,grpbwl/closure-library,AlastairTaft/closure-library,manakor/closure-library,ChadKillingsworth/closure-library,ChadKillingsworth/closure-library,valerysamovich/closure-library,plu83/closure-library,jvu/closure-library,Ju2ender/closure-library,neraliu/closure-library,gfredericks/closure-library,wenzowski/closure-library,plu83/closure-library,chone/closure-library,Medium/closure-library,rikuayanokozy/closure-library,ominux/closure-library,google/closure-library,federkasten/closure-library,alexg-dev/closure-library,jhiswin/idiil-closure-library,jhiswin/idiil-closure-library,gingerik/closure-library,ominux/closure-library,jbnicolai/closure-library,maureknob/blockly-maure,mail-apps/closure-library,sevaseva/closure-library,platinumpixs/google-closure-library,JasOXIII/closure-library,Aniaf/fkorboukh-js-new,chone/closure-library,metamolecular/closure-library,bebbi/closure-library,sunilkumargit/closure-library,lucidsoftware/closure-library,Tinkerforge/tvpl-closure-library,fivetran/closure-library,joeltine/closure-library,moagrius/closure-library,ducklord/closure-library,chone/closure-library,sunilkumargit/closure-library,sevaseva/closure-library,nanaze/closure-rhino-fork,lewistg/closure-library,jhiswin/idiil-closure-library,Medium/closure-library,mmazaheri/closure-library,valerysamovich/closure-library,AlexanderZon/closure-library,igrep/closure-library,jooking/closure-library,mrourke/closure-library,Anish2/closure-library,AlastairTaft/closure-library,kangkot/closure-library,codyebberson/closure-library,Dominator008/closure-library,google/closure-library,federkasten/closure-library,joeltine/closure-library,closure-library-geeks/closure-library-jp,jvu/closure-library,metamolecular/closure-library,jbnicolai/closure-library,chrisprice/closure-library,vincenta/closure-library,jhiswin/idiil-closure-library,Tinkerforge/tvpl-closure-library,ralic/closure-library,Luzzifa/closure-library,gterzian/closure-library,teppeis/closure-library,nicks/closure-library,chrisprice/closure-library,joeltine/closure-library,maureknob/blockly-maure,beni55/closure-library,nanaze/closure-rhino-fork,teppeis/closure-library,kangkot/closure-library,rikuayanokozy/closure-library,kencheung/closure-library,maureknob/blockly-maure,AlastairTaft/closure-library,metamolecular/closure-library,codyebberson/closure-library