code: Optimize purge/1 and soft_purge/1 using check_old_code/1
code: Optimize purge/1 and soft_purge/1 using check_old_code/1

While at it, eliminate an unnecessary use of throw/catch in the
implementation of soft_purge/1.

cnbin/otp,jamesruan/otp,haguenau/otp,vladdu/otp,GinjaNinja32/otp,ahmedshafeeq/otp,sammoth-wazoku/otp,lrascao/otp,benoitc/otp-1,sdebnath/otp,klarna/otp,erlang/otp,marquisthunder/otp,yangchengjian/otp,lucafavatella/otp,vinoski/otp,bsmr-erlang/otp,bsmr-erlang/otp,msantos/otp,hairyhum/otp,kvakvs/otp,basho/otp,lhslll/otp,fenollp/otp,benoitc/otp-1,matwey/otp,dgud/otp,lhslll/otp,jamesruan/otp,electricimp/otp,goertzenator/otp,isvilen/otp,bsmr-erlang/otp,paladim/otp,ferd/otp,uabboli/otp,emile/otp,erlang/otp,VincentHHL/otp,lucafavatella/otp,RoadRunnr/otp,msantos/otp,awetzel/otp,GinjaNinja32/otp,yangchengjian/otp,vladdu/otp,jinshana/otp,marquisthunder/otp,sammoth-wazoku/otp,isvilen/otp,dumbbell/otp,fenollp/otp,lightcyphers/otp,vic/otp,RichMorin/otp,getong/otp,saleyn/otp,RichMorin/otp,emile/otp,derek121/otp,lrascao/otp,electricimp/otp,bsmr-erlang/otp,g-andrade/otp,bernardd/otp,legoscia/otp,enikki/otp,fenollp/otp,gjaldon/otp,fenollp/otp,vinoski/otp,legoscia/otp,paulcager/otp,bugs-erlang-org/otp,mujiatong/otp,hairyhum/otp,gjaldon/otp,NOMORECOFFEE/otp,lantti/otp,c-rack/otp,RJ/otp,beni55/otp,RaimoNiskanen/otp,RaimoNiskanen/otp,VincentHHL/otp,lemenkov/otp,ahmedshafeeq/otp,GinjaNinja32/otp,lucafavatella/otp,awetzel/otp,lrascao/otp,Teino1978-Corp/erlang-otp,paulcager/otp,Teino1978-Corp/erlang-otp,beni55/otp,sdebnath/otp,sitexa/otp,c-rack/otp,lianghaivv/otp,getong/otp,weisslj/otp,legoscia/otp,cobusc/otp,cnbin/otp,sdebnath/otp,basho/otp,marquisthunder/otp,benoitc/otp-1,schlagert/otp,klarna/otp,jemsbhai/otp,vic/otp,gjaldon/otp,getong/otp,sitexa/otp,kvakvs/otp,beni55/otp,getong/otp,klarna/otp,aboroska/otp,jj1bdx/otp,lemenkov/otp,stolen/otp,c-rack/otp,cobusc/otp,saleyn/otp,paulcager/otp,matwey/otp,tuncer/otp,RoadRunnr/otp,emacsmirror/erlang,g-andrade/otp,g-andrade/otp,saleyn/otp,awetzel/otp,riverrun/otp,bjorng/otp,riverrun/otp,emile/otp,lhslll/otp,riverrun/otp,isvilen/otp,lianghaivv/otp,ferd/otp,mujiatong/otp,ahmedshafeeq/otp,benoitc/otp-1,neeraj9/otp,uabboli/otp,bernardd/otp,vic/otp,palas/otp,electricimp/otp,falkevik/otp,dgud/otp,release-project/otp,vladdu/otp,RoadRunnr/otp,ferd/otp,johanclaesson/otp,sdebnath/otp,potatosalad/otp,vladdu/otp,legoscia/otp,saleyn/otp,RaimoNiskanen/otp,ader1990/otp,aboroska/otp,mikpe/otp,msantos/otp,jj1bdx/otp,gjaldon/otp,marquisthunder/otp,massemanet/otp,jamesruan/otp,vladdu/otp,mikpe/otp,falkevik/otp,vinoski/otp,cobusc/otp,Teino1978-Corp/otp,lianghaivv/otp,falkevik/otp,legoscia/otp,neeraj9/otp,goertzenator/otp,johanclaesson/otp,neeraj9/otp,ferd/otp,cnbin/otp,awetzel/otp,schlagert/otp,lianghaivv/otp,dgud/otp,potatosalad/otp,basho/otp,ader1990/otp,g-andrade/otp,derek121/otp,gjaldon/otp,bugs-erlang-org/otp,palas/otp,haguenau/otp,lhslll/otp,psyeugenic/otp,cnbin/otp,platinumthinker/otp,paladim/otp,awetzel/otp,vic/otp,NOMORECOFFEE/otp,cnbin/otp,RJ/otp,lightcyphers/otp,emile/otp,RichMorin/otp,dgud/otp,RJ/otp,Teino1978-Corp/otp,paladim/otp,awetzel/otp,rlipscombe/otp,tuncer/otp,paladim/otp,jj1bdx/otp,yangchengjian/otp,g-andrade/otp,lhslll/otp,sammoth-wazoku/otp,marquisthunder/otp,sammoth-wazoku/otp,stolen/otp,VincentHHL/otp,mujiatong/otp,vladdu/otp,jj1bdx/otp,msantos/otp,tuncer/otp,benoitc/otp-1,massemanet/otp,riverrun/otp,msantos/otp,emacsmirror/erlang,marquisthunder/otp,saleyn/otp,isvilen/otp,dgud/otp,psyeugenic/otp,tuncer/otp,RaimoNiskanen/otp,RoadRunnr/otp,krishnakumar4a4/otp,goertzenator/otp,saleyn/otp,derek121/otp,erlang/otp,bernardd/otp,kvakvs/otp,aboroska/otp,erlang/otp,haguenau/otp,klarna/otp,lianghaivv/otp,cobusc/otp,VincentHHL/otp,Teino1978-Corp/otp,sitexa/otp,dgud/otp,erlang/otp,weisslj/otp,schlagert/otp,bsmr-erlang/otp,rlipscombe/otp,ferd/otp,ahmedshafeeq/otp,johanclaesson/otp,lantti/otp,yangchengjian/otp,mujiatong/otp,kvakvs/otp,gjaldon/otp,marquisthunder/otp,g-andrade/otp,legoscia/otp,klarna/otp,kvakvs/otp,NOMORECOFFEE/otp,fenollp/otp,ader1990/otp,johanclaesson/otp,Teino1978-Corp/otp,fenollp/otp,sammoth-wazoku/otp,stolen/otp,basho/otp,electricimp/otp,g-andrade/otp,schlagert/otp,Teino1978-Corp/erlang-otp,yangchengjian/otp,lucafavatella/otp,legoscia/otp,benoitc/otp-1,emile/otp,tuncer/otp,NOMORECOFFEE/otp,basho/otp,matwey/otp,jj1bdx/otp,entropiae/otp,neeraj9/otp,schlagert/otp,RoadRunnr/otp,RichMorin/otp,RGafiyatullin/otp,jinshana/otp,mikpe/otp,goertzenator/otp,bugs-erlang-org/otp,jinshana/otp,platinumthinker/otp,c-rack/otp,msantos/otp,matwey/otp,jj1bdx/otp,saleyn/otp,dumbbell/otp,rlipscombe/otp,palas/otp,potatosalad/otp,palas/otp,kvakvs/otp,falkevik/otp,lightcyphers/otp,cobusc/otp,isvilen/otp,lantti/otp,ferd/otp,weisslj/otp,beni55/otp,lianghaivv/otp,electricimp/otp,kvakvs/otp,fenollp/otp,theom/otp,ader1990/otp,lucafavatella/otp,RaimoNiskanen/otp,sitexa/otp,lhslll/otp,sitexa/otp,bernardd/otp,derek121/otp,potatosalad/otp,emacsmirror/erlang,potatosalad/otp,potatosalad/otp,ader1990/otp,bernardd/otp,bjorng/otp,bjorng/otp,hairyhum/otp,bugs-erlang-org/otp,hairyhum/otp,cnbin/otp,rlipscombe/otp,yangchengjian/otp,riverrun/otp,vinoski/otp,GinjaNinja32/otp,goertzenator/otp,tuncer/otp,lightcyphers/otp,legoscia/otp,basho/otp,ahmedshafeeq/otp,falkevik/otp,bjorng/otp,lightcyphers/otp,cobusc/otp,jj1bdx/otp,bjorng/otp,riverrun/otp,release-project/otp,weisslj/otp,RoadRunnr/otp,RGafiyatullin/otp,bsmr-erlang/otp,enikki/otp,fenollp/otp,schlagert/otp,emacsmirror/erlang,lucafavatella/otp,lhslll/otp,sdebnath/otp,enikki/otp,erlang/otp,ahmedshafeeq/otp,RoadRunnr/otp,Teino1978-Corp/erlang-otp,neeraj9/otp,uabboli/otp,bsmr-erlang/otp,krishnakumar4a4/otp,awetzel/otp,massemanet/otp,emacsmirror/erlang,paladim/otp,potatosalad/otp,isvilen/otp,VincentHHL/otp,schlagert/otp,stolen/otp,bsmr-erlang/otp,jemsbhai/otp,benoitc/otp-1,beni55/otp,johanclaesson/otp,stolen/otp,Teino1978-Corp/otp,massemanet/otp,cnbin/otp,weisslj/otp,klarna/otp,theom/otp,krishnakumar4a4/otp,weisslj/otp,riverrun/otp,lrascao/otp,paulcager/otp,VincentHHL/otp,vladdu/otp,ferd/otp,lantti/otp,RaimoNiskanen/otp,enikki/otp,isvilen/otp,basho/otp,johanclaesson/otp,RaimoNiskanen/otp,goertzenator/otp,benoitc/otp-1,electricimp/otp,aboroska/otp,Teino1978-Corp/otp,lianghaivv/otp,uabboli/otp,yangchengjian/otp,RichMorin/otp,theom/otp,psyeugenic/otp,mujiatong/otp,RGafiyatullin/otp,vinoski/otp,emile/otp,ahmedshafeeq/otp,awetzel/otp,paladim/otp,emile/otp,theom/otp,neeraj9/otp,jamesruan/otp,dumbbell/otp,derek121/otp,sitexa/otp,aboroska/otp,RJ/otp,ader1990/otp,hairyhum/otp,GinjaNinja32/otp,enikki/otp,release-project/otp,beni55/otp,weisslj/otp,neeraj9/otp,release-project/otp,lucafavatella/otp,paulcager/otp,vic/otp,c-rack/otp,dgud/otp,kvakvs/otp,entropiae/otp,entropiae/otp,beni55/otp,haguenau/otp,enikki/otp,NOMORECOFFEE/otp,uabboli/otp,lrascao/otp,rlipscombe/otp,mikpe/otp,massemanet/otp,aboroska/otp,psyeugenic/otp,dgud/otp,RJ/otp,enikki/otp,ader1990/otp,lemenkov/otp,jinshana/otp,vic/otp,rlipscombe/otp,mikpe/otp,jemsbhai/otp,sammoth-wazoku/otp,uabboli/otp,palas/otp,hairyhum/otp,jamesruan/otp,Teino1978-Corp/otp,GinjaNinja32/otp,entropiae/otp,msantos/otp,sdebnath/otp,Teino1978-Corp/erlang-otp,electricimp/otp,vinoski/otp,isvilen/otp,matwey/otp,vinoski/otp,neeraj9/otp,yangchengjian/otp,matwey/otp,krishnakumar4a4/otp,klarna/otp,lightcyphers/otp,riverrun/otp,hairyhum/otp,basho/otp,goertzenator/otp,sammoth-wazoku/otp,palas/otp,theom/otp,lucafavatella/otp,jj1bdx/otp,beni55/otp,paulcager/otp,isvilen/otp,GinjaNinja32/otp,c-rack/otp,bugs-erlang-org/otp,GinjaNinja32/otp,mikpe/otp,vladdu/otp,potatosalad/otp,jj1bdx/otp,getong/otp,RoadRunnr/otp,jemsbhai/otp,sammoth-wazoku/otp,bugs-erlang-org/otp,fenollp/otp,theom/otp,erlang/otp,ahmedshafeeq/otp,jamesruan/otp,lantti/otp,lemenkov/otp,jinshana/otp,platinumthinker/otp,RichMorin/otp,cnbin/otp,platinumthinker/otp,falkevik/otp,dgud/otp,bernardd/otp,uabboli/otp,getong/otp,jinshana/otp,paulcager/otp,stolen/otp,lrascao/otp,release-project/otp,psyeugenic/otp,cobusc/otp,falkevik/otp,lightcyphers/otp,rlipscombe/otp,goertzenator/otp,schlagert/otp,lemenkov/otp,derek121/otp,weisslj/otp,jinshana/otp,vic/otp,uabboli/otp,jj1bdx/otp,falkevik/otp,RoadRunnr/otp,haguenau/otp,getong/otp,bjorng/otp,lhslll/otp,gjaldon/otp,massemanet/otp,lemenkov/otp,haguenau/otp,aboroska/otp,platinumthinker/otp,emacsmirror/erlang,dumbbell/otp,massemanet/otp,NOMORECOFFEE/otp,krishnakumar4a4/otp,erlang/otp,mikpe/otp,paladim/otp,lantti/otp,cobusc/otp,psyeugenic/otp,aboroska/otp,platinumthinker/otp,weisslj/otp,ader1990/otp,NOMORECOFFEE/otp,RichMorin/otp,entropiae/otp,jemsbhai/otp,dumbbell/otp,RGafiyatullin/otp,marquisthunder/otp,Teino1978-Corp/erlang-otp,entropiae/otp,vladdu/otp,c-rack/otp,bernardd/otp,entropiae/otp,krishnakumar4a4/otp,RaimoNiskanen/otp,rlipscombe/otp,getong/otp,getong/otp,krishnakumar4a4/otp,lianghaivv/otp,release-project/otp,NOMORECOFFEE/otp,mikpe/otp,lrascao/otp,vic/otp,dumbbell/otp,bjorng/otp,jemsbhai/otp,basho/otp,emacsmirror/erlang,dumbbell/otp,stolen/otp,emacsmirror/erlang,falkevik/otp,uabboli/otp,RGafiyatullin/otp,johanclaesson/otp,saleyn/otp,legoscia/otp,johanclaesson/otp,goertzenator/otp,matwey/otp,enikki/otp,jinshana/otp,potatosalad/otp,jamesruan/otp,rlipscombe/otp,RichMorin/otp,bugs-erlang-org/otp,stolen/otp,massemanet/otp,ahmedshafeeq/otp,RJ/otp,matwey/otp,release-project/otp,VincentHHL/otp,mujiatong/otp,bugs-erlang-org/otp,bernardd/otp,bernardd/otp,g-andrade/otp,vinoski/otp,entropiae/otp,erlang/otp,aboroska/otp,kvakvs/otp,RaimoNiskanen/otp,psyeugenic/otp,dumbbell/otp,ferd/otp,haguenau/otp,VincentHHL/otp,bjorng/otp,Teino1978-Corp/otp,dgud/otp,derek121/otp,haguenau/otp,g-andrade/otp,getong/otp,derek121/otp,jemsbhai/otp,rlipscombe/otp,c-rack/otp,lrascao/otp,lemenkov/otp,erlang/otp,electricimp/otp,matwey/otp,lrascao/otp,mujiatong/otp,psyeugenic/otp,sitexa/otp,klarna/otp,sdebnath/otp,RGafiyatullin/otp,release-project/otp,jemsbhai/otp,Teino1978-Corp/erlang-otp,RGafiyatullin/otp,bjorng/otp,mikpe/otp,RGafiyatullin/otp,hairyhum/otp,emacsmirror/erlang,release-project/otp,lemenkov/otp,krishnakumar4a4/otp,mikpe/otp,msantos/otp,isvilen/otp,mujiatong/otp,theom/otp,RJ/otp,paladim/otp,dumbbell/otp,platinumthinker/otp,platinumthinker/otp,electricimp/otp,Teino1978-Corp/erlang-otp,potatosalad/otp,lantti/otp,tuncer/otp,lightcyphers/otp,emile/otp,tuncer/otp,massemanet/otp,gjaldon/otp,emile/otp,jamesruan/otp,ferd/otp,tuncer/otp,g-andrade/otp,palas/otp,sitexa/otp,lantti/otp,paulcager/otp,RJ/otp,bjorng/otp,vinoski/otp,saleyn/otp,theom/otp,dumbbell/otp,vinoski/otp,palas/otp,sdebnath/otp,bsmr-erlang/otp,emacsmirror/erlang