prevector: destroy elements only via erase()
prevector: destroy elements only via erase()

Fixes a bug in which pop_back did not call the deleted item's destructor.

Using the most general erase() implementation to implement all the others
prevents similar bugs because the coupling between deallocation and destructor
invocation only needs to be maintained in one place.
Also reduces duplication of complex memmove logic.

ionomy/ion,UdjinM6/dash,dashpay/dash,projectinterzone/ITZ,Petr-Economissa/gvidon,jmgilbert2/energi,dashpay/dash,lakepay/lake,lakepay/lake,Petr-Economissa/gvidon,ivansib/sib16,willwray/dash,RyanLucchese/energi,rdqw/sscoin,nmarley/dash,willwray/dash,crowning-/dash,terracoin/terracoin,ionomy/ion,BlockchainTechLLC/3dcoin,Petr-Economissa/gvidon,ivansib/sib16,rsdevgun16e/energi,diggcoin/diggcoin,ionomy/ion,BlockchainTechLLC/3dcoin,worldbit/worldbit,terracoin/terracoin,PandaPayProject/PandaPay,RyanLucchese/energi,lakepay/lake,alejandromgk/Lunar,dashpay/dash,HeliumGas/helium,ediston/energi,rsdevgun16e/energi,ivansib/sib16,dmrtsvetkov/flowercoin,jmgilbert2/energi,aspirecoin/aspire,schinzelh/dash,biblepay/biblepay,Petr-Economissa/gvidon,rsdevgun16e/energi,ionomy/ion,dmrtsvetkov/flowercoin,alejandromgk/Lunar,biblepay/biblepay,HeliumGas/helium,terracoin/terracoin,aspirecoin/aspire,ediston/energi,jmgilbert2/energi,HeliumGas/helium,projectinterzone/ITZ,thelazier/dash,nmarley/dash,projectinterzone/ITZ,jmgilbert2/energi,ediston/energi,alejandromgk/Lunar,crowning-/dash,alejandromgk/Lunar,aspirecoin/aspire,jmgilbert2/energi,dashpay/dash,lakepay/lake,crowning-/dash,schinzelh/dash,UdjinM6/dash,nmarley/dash,lakepay/lake,BlockchainTechLLC/3dcoin,PandaPayProject/PandaPay,HeliumGas/helium,HeliumGas/helium,rsdevgun16e/energi,terracoin/terracoin,ediston/energi,aspirecoin/aspire,ionomy/ion,biblepay/biblepay,rdqw/sscoin,thelazier/dash,willwray/dash,ediston/energi,rdqw/sscoin,ivansib/sibcoin,thelazier/dash,ivansib/sibcoin,dmrtsvetkov/flowercoin,rsdevgun16e/energi,jmgilbert2/energi,PandaPayProject/PandaPay,worldbit/worldbit,dmrtsvetkov/flowercoin,schinzelh/dash,HeliumGas/helium,ivansib/sibcoin,worldbit/worldbit,ivansib/sibcoin,PandaPayProject/PandaPay,ivansib/sib16,BlockchainTechLLC/3dcoin,ivansib/sib16,diggcoin/diggcoin,biblepay/biblepay,diggcoin/diggcoin,terracoin/terracoin,BlockchainTechLLC/3dcoin,Petr-Economissa/gvidon,aspirecoin/aspire,worldbit/worldbit,RyanLucchese/energi,projectinterzone/ITZ,dmrtsvetkov/flowercoin,PandaPayProject/PandaPay,diggcoin/diggcoin,UdjinM6/dash,UdjinM6/dash,crowning-/dash,biblepay/biblepay,dashpay/dash,worldbit/worldbit,schinzelh/dash,RyanLucchese/energi,lakepay/lake,biblepay/biblepay,biblepay/biblepay,biblepay/biblepay,RyanLucchese/energi,RyanLucchese/energi,rsdevgun16e/energi,thelazier/dash,willwray/dash,alejandromgk/Lunar,projectinterzone/ITZ,nmarley/dash,crowning-/dash,UdjinM6/dash,ivansib/sib16,ediston/energi,worldbit/worldbit,aspirecoin/aspire,BlockchainTechLLC/3dcoin,rdqw/sscoin,ivansib/sibcoin,thelazier/dash,diggcoin/diggcoin,crowning-/dash,rdqw/sscoin,PandaPayProject/PandaPay,schinzelh/dash,Petr-Economissa/gvidon,ionomy/ion,nmarley/dash,willwray/dash,nmarley/dash,willwray/dash,dmrtsvetkov/flowercoin,rdqw/sscoin,diggcoin/diggcoin,schinzelh/dash,nmarley/dash,alejandromgk/Lunar,terracoin/terracoin,ivansib/sibcoin