v3_kernel: Speed up compilation of modules with many funs
v3_kernel: Speed up compilation of modules with many funs

Using a map to store the number of free variables for funs instead of
an orddict will speed up the v3_kernel pass for modules with a huge
number of funs (such as NBAP-PDU-Contents in the asn1 test suite).

release-project/otp,psyeugenic/otp,tuncer/otp,vinoski/otp,bsmr-erlang/otp,cobusc/otp,RaimoNiskanen/otp,emacsmirror/erlang,lightcyphers/otp,jj1bdx/otp,RaimoNiskanen/otp,kvakvs/otp,fenollp/otp,kvakvs/otp,saleyn/otp,dumbbell/otp,bjorng/otp,getong/otp,legoscia/otp,isvilen/otp,bernardd/otp,lemenkov/otp,weisslj/otp,bjorng/otp,bugs-erlang-org/otp,saleyn/otp,dgud/otp,tuncer/otp,psyeugenic/otp,electricimp/otp,vinoski/otp,RoadRunnr/otp,vladdu/otp,lrascao/otp,lemenkov/otp,bsmr-erlang/otp,potatosalad/otp,ferd/otp,ahmedshafeeq/otp,tuncer/otp,release-project/otp,release-project/otp,RaimoNiskanen/otp,weisslj/otp,ferd/otp,dgud/otp,fenollp/otp,lrascao/otp,legoscia/otp,ferd/otp,ahmedshafeeq/otp,kvakvs/otp,ferd/otp,neeraj9/otp,aboroska/otp,potatosalad/otp,release-project/otp,bsmr-erlang/otp,lrascao/otp,falkevik/otp,lightcyphers/otp,dumbbell/otp,saleyn/otp,potatosalad/otp,isvilen/otp,lrascao/otp,mikpe/otp,getong/otp,ferd/otp,erlang/otp,massemanet/otp,saleyn/otp,bsmr-erlang/otp,dumbbell/otp,emacsmirror/erlang,cobusc/otp,getong/otp,RaimoNiskanen/otp,goertzenator/otp,vinoski/otp,bernardd/otp,dumbbell/otp,release-project/otp,massemanet/otp,g-andrade/otp,emile/otp,jj1bdx/otp,legoscia/otp,electricimp/otp,mikpe/otp,rlipscombe/otp,tuncer/otp,getong/otp,bugs-erlang-org/otp,uabboli/otp,lightcyphers/otp,rlipscombe/otp,bugs-erlang-org/otp,dumbbell/otp,basho/otp,g-andrade/otp,bugs-erlang-org/otp,dgud/otp,getong/otp,matwey/otp,ahmedshafeeq/otp,bernardd/otp,matwey/otp,weisslj/otp,getong/otp,emile/otp,goertzenator/otp,vinoski/otp,g-andrade/otp,vinoski/otp,release-project/otp,dgud/otp,mikpe/otp,g-andrade/otp,emacsmirror/erlang,lightcyphers/otp,RoadRunnr/otp,RaimoNiskanen/otp,emile/otp,uabboli/otp,RoadRunnr/otp,bjorng/otp,isvilen/otp,legoscia/otp,massemanet/otp,fenollp/otp,weisslj/otp,lemenkov/otp,uabboli/otp,basho/otp,electricimp/otp,vinoski/otp,weisslj/otp,legoscia/otp,kvakvs/otp,vladdu/otp,electricimp/otp,emacsmirror/erlang,aboroska/otp,emacsmirror/erlang,vladdu/otp,erlang/otp,matwey/otp,potatosalad/otp,vladdu/otp,tuncer/otp,weisslj/otp,goertzenator/otp,potatosalad/otp,dgud/otp,electricimp/otp,g-andrade/otp,bsmr-erlang/otp,neeraj9/otp,getong/otp,psyeugenic/otp,rlipscombe/otp,RoadRunnr/otp,basho/otp,fenollp/otp,falkevik/otp,legoscia/otp,isvilen/otp,isvilen/otp,weisslj/otp,bernardd/otp,ahmedshafeeq/otp,bjorng/otp,bugs-erlang-org/otp,emile/otp,g-andrade/otp,mikpe/otp,neeraj9/otp,bjorng/otp,RaimoNiskanen/otp,jj1bdx/otp,release-project/otp,lightcyphers/otp,rlipscombe/otp,g-andrade/otp,dumbbell/otp,lemenkov/otp,g-andrade/otp,cobusc/otp,uabboli/otp,potatosalad/otp,bernardd/otp,getong/otp,uabboli/otp,ferd/otp,potatosalad/otp,uabboli/otp,uabboli/otp,emile/otp,electricimp/otp,basho/otp,saleyn/otp,erlang/otp,emacsmirror/erlang,RoadRunnr/otp,lemenkov/otp,lrascao/otp,emacsmirror/erlang,lightcyphers/otp,mikpe/otp,jj1bdx/otp,goertzenator/otp,massemanet/otp,dgud/otp,jj1bdx/otp,erlang/otp,ahmedshafeeq/otp,dgud/otp,RaimoNiskanen/otp,erlang/otp,getong/otp,vladdu/otp,jj1bdx/otp,matwey/otp,vladdu/otp,tuncer/otp,electricimp/otp,bjorng/otp,bernardd/otp,falkevik/otp,dumbbell/otp,vinoski/otp,vladdu/otp,matwey/otp,vinoski/otp,saleyn/otp,rlipscombe/otp,potatosalad/otp,emile/otp,ahmedshafeeq/otp,vladdu/otp,lrascao/otp,emile/otp,psyeugenic/otp,lrascao/otp,goertzenator/otp,legoscia/otp,legoscia/otp,psyeugenic/otp,jj1bdx/otp,vladdu/otp,tuncer/otp,massemanet/otp,rlipscombe/otp,lightcyphers/otp,lemenkov/otp,erlang/otp,fenollp/otp,isvilen/otp,massemanet/otp,erlang/otp,potatosalad/otp,erlang/otp,mikpe/otp,weisslj/otp,RoadRunnr/otp,bernardd/otp,bsmr-erlang/otp,cobusc/otp,bernardd/otp,aboroska/otp,saleyn/otp,emacsmirror/erlang,g-andrade/otp,erlang/otp,neeraj9/otp,basho/otp,kvakvs/otp,bjorng/otp,g-andrade/otp,kvakvs/otp,ahmedshafeeq/otp,rlipscombe/otp,falkevik/otp,fenollp/otp,matwey/otp,release-project/otp,aboroska/otp,fenollp/otp,bjorng/otp,getong/otp,massemanet/otp,fenollp/otp,ahmedshafeeq/otp,rlipscombe/otp,goertzenator/otp,mikpe/otp,kvakvs/otp,uabboli/otp,psyeugenic/otp,electricimp/otp,bugs-erlang-org/otp,saleyn/otp,tuncer/otp,dumbbell/otp,neeraj9/otp,bjorng/otp,dgud/otp,RaimoNiskanen/otp,isvilen/otp,electricimp/otp,neeraj9/otp,legoscia/otp,erlang/otp,aboroska/otp,mikpe/otp,falkevik/otp,basho/otp,isvilen/otp,kvakvs/otp,dumbbell/otp,cobusc/otp,bugs-erlang-org/otp,jj1bdx/otp,aboroska/otp,bsmr-erlang/otp,falkevik/otp,RaimoNiskanen/otp,bjorng/otp,matwey/otp,cobusc/otp,aboroska/otp,vinoski/otp,massemanet/otp,matwey/otp,emile/otp,RoadRunnr/otp,falkevik/otp,fenollp/otp,cobusc/otp,matwey/otp,goertzenator/otp,goertzenator/otp,potatosalad/otp,bsmr-erlang/otp,ferd/otp,mikpe/otp,dumbbell/otp,emile/otp,falkevik/otp,ferd/otp,mikpe/otp,neeraj9/otp,emacsmirror/erlang,lrascao/otp,jj1bdx/otp,vinoski/otp,lightcyphers/otp,falkevik/otp,aboroska/otp,dgud/otp,RoadRunnr/otp,jj1bdx/otp,rlipscombe/otp,lemenkov/otp,rlipscombe/otp,basho/otp,isvilen/otp,basho/otp,tuncer/otp,saleyn/otp,isvilen/otp,psyeugenic/otp,release-project/otp,neeraj9/otp,cobusc/otp,massemanet/otp,basho/otp,bernardd/otp,lemenkov/otp,uabboli/otp,kvakvs/otp,dgud/otp,ahmedshafeeq/otp,goertzenator/otp,weisslj/otp,aboroska/otp,lrascao/otp,bsmr-erlang/otp,emacsmirror/erlang,bugs-erlang-org/otp,RoadRunnr/otp,psyeugenic/otp,ferd/otp