span: add lifetimebound attribute
span: add lifetimebound attribute

See http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0936r0.pdf for
reference.

This helps to guard against dangling references caused by construction from
temporaries such as:

    Span<const int> sp(std::vector<int>{1,2,3});

practicalswift/bitcoin,n1bor/bitcoin,prusnak/bitcoin,ajtowns/bitcoin,jnewbery/bitcoin,practicalswift/bitcoin,bitcoin/bitcoin,namecoin/namecore,Xekyo/bitcoin,pataquets/namecoin-core,sstone/bitcoin,sipsorcery/bitcoin,andreaskern/bitcoin,pstratem/bitcoin,fanquake/bitcoin,MarcoFalke/bitcoin,instagibbs/bitcoin,ajtowns/bitcoin,instagibbs/bitcoin,pstratem/bitcoin,apoelstra/bitcoin,GroestlCoin/GroestlCoin,mm-s/bitcoin,JeremyRubin/bitcoin,mm-s/bitcoin,bitcoin/bitcoin,Sjors/bitcoin,JeremyRubin/bitcoin,particl/particl-core,kallewoof/bitcoin,prusnak/bitcoin,rnicoll/bitcoin,pstratem/bitcoin,cdecker/bitcoin,instagibbs/bitcoin,AkioNak/bitcoin,namecoin/namecoin-core,rnicoll/bitcoin,fujicoin/fujicoin,mruddy/bitcoin,MarcoFalke/bitcoin,MeshCollider/bitcoin,namecoin/namecore,qtumproject/qtum,domob1812/bitcoin,fanquake/bitcoin,namecoin/namecoin-core,bitcoin/bitcoin,namecoin/namecore,GroestlCoin/GroestlCoin,andreaskern/bitcoin,sstone/bitcoin,domob1812/namecore,jnewbery/bitcoin,yenliangl/bitcoin,yenliangl/bitcoin,jambolo/bitcoin,yenliangl/bitcoin,andreaskern/bitcoin,particl/particl-core,qtumproject/qtum,AkioNak/bitcoin,jnewbery/bitcoin,domob1812/bitcoin,jambolo/bitcoin,n1bor/bitcoin,achow101/bitcoin,bitcoin/bitcoin,dscotese/bitcoin,particl/particl-core,rnicoll/bitcoin,anditto/bitcoin,achow101/bitcoin,ElementsProject/elements,sipsorcery/bitcoin,EthanHeilman/bitcoin,jnewbery/bitcoin,tecnovert/particl-core,bitcoinsSG/bitcoin,domob1812/namecore,jlopp/statoshi,ajtowns/bitcoin,Xekyo/bitcoin,jambolo/bitcoin,mruddy/bitcoin,apoelstra/bitcoin,bitcoinknots/bitcoin,bitcoin/bitcoin,pataquets/namecoin-core,GroestlCoin/GroestlCoin,domob1812/bitcoin,rnicoll/bitcoin,rnicoll/bitcoin,GroestlCoin/GroestlCoin,Sjors/bitcoin,anditto/bitcoin,cdecker/bitcoin,MarcoFalke/bitcoin,jamesob/bitcoin,bitcoinknots/bitcoin,sipsorcery/bitcoin,achow101/bitcoin,bitcoinknots/bitcoin,domob1812/bitcoin,GroestlCoin/bitcoin,ajtowns/bitcoin,andreaskern/bitcoin,fujicoin/fujicoin,GroestlCoin/bitcoin,n1bor/bitcoin,bitcoinsSG/bitcoin,dscotese/bitcoin,tecnovert/particl-core,ElementsProject/elements,namecoin/namecore,lateminer/bitcoin,MarcoFalke/bitcoin,achow101/bitcoin,prusnak/bitcoin,pataquets/namecoin-core,anditto/bitcoin,EthanHeilman/bitcoin,lateminer/bitcoin,ElementsProject/elements,practicalswift/bitcoin,achow101/bitcoin,dscotese/bitcoin,instagibbs/bitcoin,prusnak/bitcoin,MarcoFalke/bitcoin,MeshCollider/bitcoin,GroestlCoin/GroestlCoin,jnewbery/bitcoin,fanquake/bitcoin,tecnovert/particl-core,qtumproject/qtum,mm-s/bitcoin,pataquets/namecoin-core,tecnovert/particl-core,ajtowns/bitcoin,cdecker/bitcoin,yenliangl/bitcoin,n1bor/bitcoin,GroestlCoin/bitcoin,EthanHeilman/bitcoin,sipsorcery/bitcoin,bitcoinknots/bitcoin,jambolo/bitcoin,JeremyRubin/bitcoin,AkioNak/bitcoin,jamesob/bitcoin,fanquake/bitcoin,anditto/bitcoin,GroestlCoin/bitcoin,JeremyRubin/bitcoin,lateminer/bitcoin,fujicoin/fujicoin,namecoin/namecoin-core,apoelstra/bitcoin,JeremyRubin/bitcoin,MarcoFalke/bitcoin,jlopp/statoshi,bitcoinsSG/bitcoin,cdecker/bitcoin,namecoin/namecore,particl/particl-core,bitcoinsSG/bitcoin,pataquets/namecoin-core,dscotese/bitcoin,fujicoin/fujicoin,jlopp/statoshi,Xekyo/bitcoin,Sjors/bitcoin,dscotese/bitcoin,practicalswift/bitcoin,bitcoinsSG/bitcoin,fujicoin/fujicoin,sstone/bitcoin,Sjors/bitcoin,pstratem/bitcoin,qtumproject/qtum,particl/particl-core,bitcoinsSG/bitcoin,jamesob/bitcoin,EthanHeilman/bitcoin,JeremyRubin/bitcoin,AkioNak/bitcoin,n1bor/bitcoin,jlopp/statoshi,pstratem/bitcoin,GroestlCoin/bitcoin,ajtowns/bitcoin,pstratem/bitcoin,AkioNak/bitcoin,MeshCollider/bitcoin,prusnak/bitcoin,Sjors/bitcoin,domob1812/namecore,apoelstra/bitcoin,mm-s/bitcoin,sstone/bitcoin,jlopp/statoshi,fanquake/bitcoin,particl/particl-core,mruddy/bitcoin,anditto/bitcoin,prusnak/bitcoin,tecnovert/particl-core,lateminer/bitcoin,Xekyo/bitcoin,domob1812/namecore,instagibbs/bitcoin,mm-s/bitcoin,jamesob/bitcoin,sipsorcery/bitcoin,lateminer/bitcoin,EthanHeilman/bitcoin,fanquake/bitcoin,n1bor/bitcoin,mruddy/bitcoin,bitcoin/bitcoin,ElementsProject/elements,kallewoof/bitcoin,practicalswift/bitcoin,jamesob/bitcoin,apoelstra/bitcoin,MeshCollider/bitcoin,qtumproject/qtum,yenliangl/bitcoin,ElementsProject/elements,fujicoin/fujicoin,mruddy/bitcoin,achow101/bitcoin,cdecker/bitcoin,namecoin/namecore,jamesob/bitcoin,AkioNak/bitcoin,dscotese/bitcoin,mruddy/bitcoin,lateminer/bitcoin,jlopp/statoshi,GroestlCoin/GroestlCoin,instagibbs/bitcoin,ElementsProject/elements,namecoin/namecoin-core,qtumproject/qtum,pataquets/namecoin-core,qtumproject/qtum,sstone/bitcoin,namecoin/namecoin-core,bitcoinknots/bitcoin,MeshCollider/bitcoin,yenliangl/bitcoin,domob1812/bitcoin,andreaskern/bitcoin,tecnovert/particl-core,apoelstra/bitcoin,GroestlCoin/bitcoin,kallewoof/bitcoin,domob1812/bitcoin,domob1812/namecore,practicalswift/bitcoin,kallewoof/bitcoin,mm-s/bitcoin,Xekyo/bitcoin,namecoin/namecoin-core,rnicoll/bitcoin,andreaskern/bitcoin,cdecker/bitcoin,sstone/bitcoin,sipsorcery/bitcoin,anditto/bitcoin,kallewoof/bitcoin,MeshCollider/bitcoin,jambolo/bitcoin,domob1812/namecore,kallewoof/bitcoin,Xekyo/bitcoin,jambolo/bitcoin,EthanHeilman/bitcoin