Utils: add on_scope_end utility
Utils: add on_scope_end utility

on_scope_end permits to register a functor to be called at scope
end (either exception thrown or normal scope end). this is usefull
for cleanup code that must be run.

usage:

auto cleaner = on_scope_end([]() { cleanup(); });

danielma/kakoune,Asenar/kakoune,rstacruz/kakoune,jjthrash/kakoune,rstacruz/kakoune,jjthrash/kakoune,alexherbo2/kakoune,casimir/kakoune,flavius/kakoune,ekie/kakoune,elegios/kakoune,lenormf/kakoune,zakgreant/kakoune,lenormf/kakoune,ekie/kakoune,jkonecny12/kakoune,xificurC/kakoune,xificurC/kakoune,occivink/kakoune,Somasis/kakoune,mawww/kakoune,zakgreant/kakoune,alpha123/kakoune,xificurC/kakoune,casimir/kakoune,lenormf/kakoune,alpha123/kakoune,flavius/kakoune,elegios/kakoune,casimir/kakoune,alpha123/kakoune,elegios/kakoune,jjthrash/kakoune,Somasis/kakoune,alexherbo2/kakoune,danielma/kakoune,danr/kakoune,alpha123/kakoune,elegios/kakoune,alexherbo2/kakoune,danr/kakoune,rstacruz/kakoune,occivink/kakoune,Somasis/kakoune,danr/kakoune,occivink/kakoune,jkonecny12/kakoune,occivink/kakoune,casimir/kakoune,Asenar/kakoune,lenormf/kakoune,mawww/kakoune,danielma/kakoune,zakgreant/kakoune,ekie/kakoune,xificurC/kakoune,mawww/kakoune,Somasis/kakoune,jkonecny12/kakoune,zakgreant/kakoune,danr/kakoune,ekie/kakoune,flavius/kakoune,jjthrash/kakoune,rstacruz/kakoune,jkonecny12/kakoune,Asenar/kakoune,flavius/kakoune,danielma/kakoune,alexherbo2/kakoune,mawww/kakoune,Asenar/kakoune