auto merge of #2134 : mbrubeck/servo/frametree-clone, r=larsbergstrom
auto merge of #2134 : mbrubeck/servo/frametree-clone, r=larsbergstrom

This fixes an issue where a ChildFrameTree is inserted into a clone of its parent, rather than its "real" parent, as noted in #2124.

This moves `FrameTree::iter` and the methods that depend on it into a new trait that is implemented on `Rc<FrameTree>`, since it's safe to clone an `Rc<FrameTree>`.

r? @larsbergstrom

mdibaiee/servo,mattnenterprise/servo,jgraham/servo,akosel/servo,juzer10/servo,RenaudParis/servo,ConnorGBrewster/servo,kindersung/servo,huonw/servo,indykish/servo,caldwell/servo,larsbergstrom/servo,cbrewster/servo,GyrosOfWar/servo,deokjinkim/servo,froydnj/servo,GreenRecycleBin/servo,tempbottle/servo,aweinstock314/servo,A-deLuna/servo,saneyuki/servo,srbhklkrn/SERVOENGINE,nrc/servo,sadmansk/servo,emilio/servo,GreenRecycleBin/servo,avadacatavra/servo,notriddle/servo,nerith/servo,eddyb/servo,splav/servo,akosel/servo,dmarcos/servo,akosel/servo,echochamber/servo,dsandeephegde/servo,WriterOfAlicrow/servo,dati91/servo,CJ8664/servo,akosel/servo,bfrohs/servo,steveklabnik/servo,splav/servo,michaelwu/servo,pgonda/servo,notriddle/servo,meh/servo,CJ8664/servo,eddyb/servo,rixrix/servo,froydnj/servo,rixrix/servo,jlegendary/servo,GreenRecycleBin/servo,KiChjang/servo,larsbergstrom/servo,indykish/servo,dsandeephegde/servo,deokjinkim/servo,juzer10/servo,emilio/servo,thiagopnts/servo,kindersung/servo,cbrewster/servo,rentongzhang/servo,tafia/servo,walac/servo,SimonSapin/servo,szeged/servo,boghison/servo,sadmansk/servo,dagnir/servo,paulrouget/servo,WriterOfAlicrow/servo,vks/servo,notriddle/servo,runarberg/servo,jgraham/servo,dagnir/servo,eddyb/servo,steveklabnik/servo,Adenilson/prototype-viewing-distance,g-k/servo,ruud-v-a/servo,tempbottle/servo,dmarcos/servo,larsbergstrom/servo,shrenikgala/servo,szeged/servo,dvberkel/servo,shrenikgala/servo,anthgur/servo,jdramani/servo,michaelwu/servo,zentner-kyle/servo,canaltinova/servo,aidanhs/servo,WriterOfAlicrow/servo,j3parker/servo,g-k/servo,ConnorGBrewster/servo,vks/servo,dsandeephegde/servo,nick-thompson/servo,notriddle/servo,huonw/servo,shrenikgala/servo,RenaudParis/servo,canaltinova/servo,snf/servo,s142857/servo,pyfisch/servo,steveklabnik/servo,anthgur/servo,KiChjang/servo,akosel/servo,shrenikgala/servo,KiChjang/servo,larsbergstrom/servo,anthgur/servo,dmarcos/servo,nerith/servo,caldwell/servo,RenaudParis/servo,ryancanhelpyou/servo,ryancanhelpyou/servo,zentner-kyle/servo,huonw/servo,nnethercote/servo,walac/servo,jimberlage/servo,DominoTree/servo,peterjoel/servo,j3parker/servo,emilio/servo,tempbottle/servo,brendandahl/servo,saratang/servo,saneyuki/servo,snf/servo,dhananjay92/servo,nerith/servo,GyrosOfWar/servo,paulrouget/servo,zhangjunlei26/servo,dagnir/servo,mdibaiee/servo,Adenilson/prototype-viewing-distance,youprofit/servo,dhananjay92/servo,j3parker/servo,samfoo/servo,dati91/servo,rixrix/servo,zentner-kyle/servo,mdibaiee/servo,canaltinova/servo,wartman4404/servo,zhangjunlei26/servo,mbrubeck/servo,ryancanhelpyou/servo,echochamber/servo,boghison/servo,saratang/servo,mdibaiee/servo,A-deLuna/servo,brendandahl/servo,tschneidereit/servo,mbrubeck/servo,aweinstock314/servo,bjwbell/servo,rnestler/servo,g-k/servo,dmarcos/servo,jgraham/servo,karlito40/servo,wpgallih/servo,paulrouget/servo,luniv/servo,luniv/servo,brendandahl/servo,dvberkel/servo,peterjoel/servo,rnestler/servo,A-deLuna/servo,mt2d2/servo,s142857/servo,szeged/servo,hyowon/servo,notriddle/servo,wartman4404/servo,vks/servo,jimberlage/servo,mbrubeck/servo,AnthonyBroadCrawford/servo,fiji-flo/servo,s142857/servo,Adenilson/prototype-viewing-distance,pyfisch/servo,emilio/servo,RenaudParis/servo,splav/servo,pyfisch/servo,tschneidereit/servo,caldwell/servo,jlegendary/servo,SimonSapin/servo,eddyb/servo,indykish/servo,froydnj/servo,mbrubeck/servo,wartman4404/servo,mattnenterprise/servo,mukilan/servo,wpgallih/servo,DominoTree/servo,A-deLuna/servo,pyfisch/servo,nick-thompson/servo,deokjinkim/servo,dati91/servo,avadacatavra/servo,splav/servo,nrc/servo,anthgur/servo,walac/servo,thiagopnts/servo,jdramani/servo,canaltinova/servo,upsuper/servo,jgraham/servo,caldwell/servo,avadacatavra/servo,nick-thompson/servo,evilpie/servo,rnestler/servo,youprofit/servo,g-k/servo,GreenRecycleBin/servo,cbrewster/servo,jlegendary/servo,aidanhs/servo,KiChjang/servo,wpgallih/servo,dati91/servo,canaltinova/servo,tafia/servo,rentongzhang/servo,pyfisch/servo,rnestler/servo,seanmonstar/servo,paulrouget/servo,bfrohs/servo,A-deLuna/servo,jlegendary/servo,zentner-kyle/servo,zhangjunlei26/servo,srbhklkrn/SERVOENGINE,huonw/servo,peterjoel/servo,dsandeephegde/servo,emilio/servo,jdramani/servo,sadmansk/servo,seanmonstar/servo,chotchki/servo,ConnorGBrewster/servo,vks/servo,samfoo/servo,pgonda/servo,brendandahl/servo,WriterOfAlicrow/servo,dvberkel/servo,boghison/servo,aidanhs/servo,fiji-flo/servo,AnthonyBroadCrawford/servo,runarberg/servo,juzer10/servo,GreenRecycleBin/servo,splav/servo,wartman4404/servo,nrc/servo,wpgallih/servo,KiChjang/servo,emilio/servo,rixrix/servo,saneyuki/servo,saneyuki/servo,dhananjay92/servo,eddyb/servo,pyfisch/servo,deokjinkim/servo,nnethercote/servo,mukilan/servo,SimonSapin/servo,mdibaiee/servo,juzer10/servo,pyecs/servo,codemac/servo,CJ8664/servo,thiagopnts/servo,dati91/servo,upsuper/servo,peterjoel/servo,nerith/servo,emilio/servo,jlegendary/servo,mt2d2/servo,pyfisch/servo,avadacatavra/servo,dhananjay92/servo,chotchki/servo,tafia/servo,karlito40/servo,tafia/servo,DominoTree/servo,deokjinkim/servo,indykish/servo,meh/servo,samfoo/servo,nnethercote/servo,youprofit/servo,SimonSapin/servo,walac/servo,upsuper/servo,dvberkel/servo,notriddle/servo,seanmonstar/servo,sadmansk/servo,boghison/servo,huonw/servo,saratang/servo,KiChjang/servo,splav/servo,pyfisch/servo,nnethercote/servo,aweinstock314/servo,nrc/servo,rnestler/servo,samfoo/servo,splav/servo,chotchki/servo,anthgur/servo,sadmansk/servo,avadacatavra/servo,j3parker/servo,indykish/servo,nrc/servo,WriterOfAlicrow/servo,meh/servo,rnestler/servo,dvberkel/servo,DominoTree/servo,runarberg/servo,GyrosOfWar/servo,Shraddha512/servo,steveklabnik/servo,peterjoel/servo,szeged/servo,peterjoel/servo,AnthonyBroadCrawford/servo,seanmonstar/servo,dagnir/servo,jimberlage/servo,KiChjang/servo,tempbottle/servo,rnestler/servo,DominoTree/servo,cbrewster/servo,dagnir/servo,ruud-v-a/servo,karlito40/servo,AnthonyBroadCrawford/servo,nnethercote/servo,pyfisch/servo,jgraham/servo,caldwell/servo,tempbottle/servo,seanmonstar/servo,anthgur/servo,jimberlage/servo,pgonda/servo,fiji-flo/servo,srbhklkrn/SERVOENGINE,GreenRecycleBin/servo,rentongzhang/servo,SimonSapin/servo,jdramani/servo,mt2d2/servo,Shraddha512/servo,larsbergstrom/servo,SimonSapin/servo,mukilan/servo,aweinstock314/servo,echochamber/servo,mt2d2/servo,RenaudParis/servo,upsuper/servo,rentongzhang/servo,avadacatavra/servo,emilio/servo,snf/servo,dsandeephegde/servo,runarberg/servo,luniv/servo,ryancanhelpyou/servo,tschneidereit/servo,s142857/servo,brendandahl/servo,wartman4404/servo,tafia/servo,rentongzhang/servo,canaltinova/servo,Shraddha512/servo,dagnir/servo,bjwbell/servo,DominoTree/servo,pyecs/servo,dvberkel/servo,WriterOfAlicrow/servo,juzer10/servo,pgonda/servo,GyrosOfWar/servo,nnethercote/servo,brendandahl/servo,s142857/servo,hyowon/servo,mukilan/servo,zentner-kyle/servo,nick-thompson/servo,eddyb/servo,mukilan/servo,paulrouget/servo,fiji-flo/servo,nerith/servo,pyecs/servo,youprofit/servo,chotchki/servo,nnethercote/servo,g-k/servo,rixrix/servo,dsandeephegde/servo,Adenilson/prototype-viewing-distance,jgraham/servo,huonw/servo,CJ8664/servo,DominoTree/servo,ryancanhelpyou/servo,CJ8664/servo,wpgallih/servo,luniv/servo,evilpie/servo,wpgallih/servo,larsbergstrom/servo,zhangjunlei26/servo,avadacatavra/servo,nnethercote/servo,emilio/servo,splav/servo,fiji-flo/servo,mdibaiee/servo,nick-thompson/servo,aweinstock314/servo,mt2d2/servo,anthgur/servo,Shraddha512/servo,GreenRecycleBin/servo,jlegendary/servo,canaltinova/servo,g-k/servo,canaltinova/servo,codemac/servo,pyfisch/servo,nnethercote/servo,boghison/servo,aidanhs/servo,peterjoel/servo,aidanhs/servo,srbhklkrn/SERVOENGINE,caldwell/servo,thiagopnts/servo,Shraddha512/servo,snf/servo,zentner-kyle/servo,meh/servo,ConnorGBrewster/servo,evilpie/servo,saneyuki/servo,saratang/servo,thiagopnts/servo,mbrubeck/servo,sadmansk/servo,notriddle/servo,youprofit/servo,notriddle/servo,hyowon/servo,bjwbell/servo,Shraddha512/servo,mbrubeck/servo,akosel/servo,paulrouget/servo,KiChjang/servo,steveklabnik/servo,evilpie/servo,huonw/servo,nerith/servo,KiChjang/servo,fiji-flo/servo,evilpie/servo,bjwbell/servo,GyrosOfWar/servo,meh/servo,youprofit/servo,karlito40/servo,kindersung/servo,hyowon/servo,thiagopnts/servo,AnthonyBroadCrawford/servo,ruud-v-a/servo,upsuper/servo,splav/servo,mattnenterprise/servo,snf/servo,bjwbell/servo,echochamber/servo,larsbergstrom/servo,saneyuki/servo,jdramani/servo,meh/servo,saneyuki/servo,dsandeephegde/servo,luniv/servo,zhangjunlei26/servo,evilpie/servo,AnthonyBroadCrawford/servo,samfoo/servo,pyecs/servo,mdibaiee/servo,saneyuki/servo,mattnenterprise/servo,bfrohs/servo,michaelwu/servo,WriterOfAlicrow/servo,szeged/servo,dati91/servo,nick-thompson/servo,anthgur/servo,aweinstock314/servo,RenaudParis/servo,luniv/servo,mattnenterprise/servo,j3parker/servo,aweinstock314/servo,kindersung/servo,tschneidereit/servo,rixrix/servo,kindersung/servo,GyrosOfWar/servo,ryancanhelpyou/servo,dvberkel/servo,evilpie/servo,peterjoel/servo,seanmonstar/servo,DominoTree/servo,paulrouget/servo,karlito40/servo,jdramani/servo,Shraddha512/servo,rentongzhang/servo,upsuper/servo,jimberlage/servo,wartman4404/servo,wpgallih/servo,ryancanhelpyou/servo,bjwbell/servo,michaelwu/servo,Adenilson/prototype-viewing-distance,chotchki/servo,ConnorGBrewster/servo,froydnj/servo,mbrubeck/servo,fiji-flo/servo,karlito40/servo,dagnir/servo,pgonda/servo,dsandeephegde/servo,zentner-kyle/servo,AnthonyBroadCrawford/servo,vks/servo,peterjoel/servo,peterjoel/servo,zhangjunlei26/servo,notriddle/servo,michaelwu/servo,srbhklkrn/SERVOENGINE,srbhklkrn/SERVOENGINE,deokjinkim/servo,hyowon/servo,ConnorGBrewster/servo,samfoo/servo,szeged/servo,froydnj/servo,rentongzhang/servo,thiagopnts/servo,froydnj/servo,upsuper/servo,vks/servo,steveklabnik/servo,dmarcos/servo,runarberg/servo,codemac/servo,pyecs/servo,vks/servo,rnestler/servo,GreenRecycleBin/servo,ruud-v-a/servo,walac/servo,bfrohs/servo,indykish/servo,saratang/servo,mattnenterprise/servo,saneyuki/servo,dmarcos/servo,evilpie/servo,mbrubeck/servo,larsbergstrom/servo,boghison/servo,nrc/servo,cbrewster/servo,fiji-flo/servo,g-k/servo,cbrewster/servo,szeged/servo,zhangjunlei26/servo,shrenikgala/servo,indykish/servo,kindersung/servo,saneyuki/servo,paulrouget/servo,CJ8664/servo,kindersung/servo,echochamber/servo,ConnorGBrewster/servo,rixrix/servo,bfrohs/servo,codemac/servo,nick-thompson/servo,hyowon/servo,jimberlage/servo,codemac/servo,samfoo/servo,shrenikgala/servo,srbhklkrn/SERVOENGINE,jlegendary/servo,sadmansk/servo,indykish/servo,zhangjunlei26/servo,dhananjay92/servo,mukilan/servo,dmarcos/servo,snf/servo,caldwell/servo,tempbottle/servo,jgraham/servo,walac/servo,wartman4404/servo,ruud-v-a/servo,tafia/servo,echochamber/servo,KiChjang/servo,cbrewster/servo,dati91/servo,deokjinkim/servo,runarberg/servo,szeged/servo,DominoTree/servo,rixrix/servo,CJ8664/servo,Adenilson/prototype-viewing-distance,GyrosOfWar/servo,eddyb/servo,szeged/servo,nerith/servo,nrc/servo,hyowon/servo,tempbottle/servo,upsuper/servo,rixrix/servo,jdramani/servo,echochamber/servo,tschneidereit/servo,jimberlage/servo,meh/servo,s142857/servo,tafia/servo,evilpie/servo,avadacatavra/servo,j3parker/servo,RenaudParis/servo,paulrouget/servo,snf/servo,dhananjay92/servo,aidanhs/servo,larsbergstrom/servo,pgonda/servo,pyecs/servo,akosel/servo,ConnorGBrewster/servo,aidanhs/servo,runarberg/servo,chotchki/servo,nnethercote/servo,brendandahl/servo,paulrouget/servo,codemac/servo,emilio/servo,pgonda/servo,cbrewster/servo,j3parker/servo,shrenikgala/servo,notriddle/servo,A-deLuna/servo,wpgallih/servo,zhangjunlei26/servo,mattnenterprise/servo,juzer10/servo,bjwbell/servo,karlito40/servo,SimonSapin/servo,larsbergstrom/servo,boghison/servo,codemac/servo,tschneidereit/servo,Adenilson/prototype-viewing-distance,dati91/servo,indykish/servo,saratang/servo,juzer10/servo,dhananjay92/servo,mt2d2/servo,bfrohs/servo,tschneidereit/servo,A-deLuna/servo,CJ8664/servo,szeged/servo,jimberlage/servo,DominoTree/servo,SimonSapin/servo,sadmansk/servo,thiagopnts/servo,mattnenterprise/servo,eddyb/servo,s142857/servo,luniv/servo,ruud-v-a/servo,GreenRecycleBin/servo,splav/servo,wpgallih/servo,steveklabnik/servo,mt2d2/servo,saratang/servo,jimberlage/servo,michaelwu/servo,pyecs/servo,youprofit/servo,walac/servo