auto merge of #16573 : ruud-v-a/rust/timespec-arithmetic, r=alexcrichton
auto merge of #16573 : ruud-v-a/rust/timespec-arithmetic, r=alexcrichton

This implements `Add` and `Sub` for `Timespec`, which enables `Timespec` to be used as a time span. For example:

```rust
let begin = get_time();
// Do some stuff.
let end = get_time();
let delta = end - begin;
println!("Doing stuff took {}.{:09d} seconds.", delta.sec, delta.nsec);
```
This resolves one of the points mentioned in #2153.

pshc/rust,GBGamer/rust,carols10cents/rust,zachwick/rust,erickt/rust,l0kod/rust,0x73/rust,gifnksm/rust,kwantam/rust,jbclements/rust,kwantam/rust,kwantam/rust,avdi/rust,richo/rust,ruud-v-a/rust,AerialX/rust-rt-minimal,mdinger/rust,dwillmer/rust,richo/rust,pshc/rust,mdinger/rust,seanrivera/rust,jroesch/rust,pelmers/rust,hauleth/rust,mvdnes/rust,AerialX/rust,mahkoh/rust,rprichard/rust,mihneadb/rust,miniupnp/rust,rohitjoshi/rust,untitaker/rust,pelmers/rust,rohitjoshi/rust,philyoon/rust,AerialX/rust,jbclements/rust,bombless/rust-docs-chinese,ruud-v-a/rust,miniupnp/rust,ejjeong/rust,defuz/rust,emk/rust,mdinger/rust,jroesch/rust,ktossell/rust,emk/rust,jbclements/rust,ruud-v-a/rust,TheNeikos/rust,KokaKiwi/rust,GBGamer/rust,rohitjoshi/rust,kimroen/rust,aidancully/rust,vhbit/rust,jroesch/rust,philyoon/rust,victorvde/rust,carols10cents/rust,jbclements/rust,0x73/rust,erickt/rust,AerialX/rust-rt-minimal,P1start/rust,dwillmer/rust,AerialX/rust,GBGamer/rust,cllns/rust,AerialX/rust-rt-minimal,dwillmer/rust,avdi/rust,bombless/rust,GBGamer/rust,miniupnp/rust,barosl/rust,dwillmer/rust,zaeleus/rust,0x73/rust,l0kod/rust,rprichard/rust,dinfuehr/rust,erickt/rust,GBGamer/rust,aepsil0n/rust,ejjeong/rust,gifnksm/rust,XMPPwocky/rust,pelmers/rust,KokaKiwi/rust,avdi/rust,TheNeikos/rust,pelmers/rust,nham/rust,mvdnes/rust,andars/rust,P1start/rust,hauleth/rust,mihneadb/rust,defuz/rust,zaeleus/rust,XMPPwocky/rust,quornian/rust,rohitjoshi/rust,vhbit/rust,aneeshusa/rust,zachwick/rust,nham/rust,erickt/rust,krzysz00/rust,P1start/rust,emk/rust,vhbit/rust,robertg/rust,andars/rust,seanrivera/rust,robertg/rust,victorvde/rust,krzysz00/rust,defuz/rust,l0kod/rust,ktossell/rust,XMPPwocky/rust,ruud-v-a/rust,aepsil0n/rust,gifnksm/rust,P1start/rust,aneeshusa/rust,zubron/rust,hauleth/rust,omasanori/rust,mihneadb/rust,cllns/rust,aidancully/rust,jashank/rust,mahkoh/rust,kwantam/rust,erickt/rust,graydon/rust,graydon/rust,richo/rust,jashank/rust,dwillmer/rust,aidancully/rust,jbclements/rust,graydon/rust,zubron/rust,seanrivera/rust,AerialX/rust,0x73/rust,jroesch/rust,jroesch/rust,untitaker/rust,jashank/rust,AerialX/rust,barosl/rust,KokaKiwi/rust,KokaKiwi/rust,aidancully/rust,omasanori/rust,l0kod/rust,andars/rust,ebfull/rust,nwin/rust,nham/rust,ejjeong/rust,pshc/rust,untitaker/rust,ktossell/rust,untitaker/rust,seanrivera/rust,aneeshusa/rust,emk/rust,avdi/rust,bombless/rust,TheNeikos/rust,pelmers/rust,jroesch/rust,ejjeong/rust,zubron/rust,jbclements/rust,erickt/rust,0x73/rust,ebfull/rust,kimroen/rust,krzysz00/rust,quornian/rust,untitaker/rust,rprichard/rust,robertg/rust,mvdnes/rust,carols10cents/rust,jbclements/rust,miniupnp/rust,nwin/rust,reem/rust,P1start/rust,quornian/rust,TheNeikos/rust,ejjeong/rust,XMPPwocky/rust,aidancully/rust,bombless/rust,AerialX/rust-rt-minimal,hauleth/rust,emk/rust,pelmers/rust,mahkoh/rust,XMPPwocky/rust,philyoon/rust,rohitjoshi/rust,AerialX/rust,omasanori/rust,GBGamer/rust,pshc/rust,miniupnp/rust,defuz/rust,mahkoh/rust,quornian/rust,carols10cents/rust,pshc/rust,krzysz00/rust,aepsil0n/rust,aepsil0n/rust,andars/rust,zubron/rust,dwillmer/rust,robertg/rust,zaeleus/rust,krzysz00/rust,emk/rust,nham/rust,philyoon/rust,erickt/rust,vhbit/rust,ebfull/rust,bombless/rust,zubron/rust,nwin/rust,rprichard/rust,0x73/rust,zaeleus/rust,TheNeikos/rust,omasanori/rust,dinfuehr/rust,GBGamer/rust,kimroen/rust,cllns/rust,mihneadb/rust,graydon/rust,richo/rust,vhbit/rust,aidancully/rust,victorvde/rust,quornian/rust,sae-bom/rust,l0kod/rust,mdinger/rust,sae-bom/rust,untitaker/rust,mdinger/rust,robertg/rust,jroesch/rust,hauleth/rust,gifnksm/rust,sae-bom/rust,krzysz00/rust,jbclements/rust,miniupnp/rust,kwantam/rust,mvdnes/rust,carols10cents/rust,richo/rust,kimroen/rust,mdinger/rust,nwin/rust,sae-bom/rust,mihneadb/rust,gifnksm/rust,mihneadb/rust,defuz/rust,miniupnp/rust,zaeleus/rust,robertg/rust,bombless/rust,miniupnp/rust,ktossell/rust,ebfull/rust,seanrivera/rust,omasanori/rust,ebfull/rust,aneeshusa/rust,andars/rust,ktossell/rust,zubron/rust,reem/rust,gifnksm/rust,ruud-v-a/rust,reem/rust,TheNeikos/rust,nwin/rust,rprichard/rust,AerialX/rust-rt-minimal,cllns/rust,jashank/rust,quornian/rust,GBGamer/rust,dwillmer/rust,mvdnes/rust,kimroen/rust,richo/rust,ruud-v-a/rust,aneeshusa/rust,nham/rust,zachwick/rust,sae-bom/rust,KokaKiwi/rust,KokaKiwi/rust,mahkoh/rust,carols10cents/rust,victorvde/rust,P1start/rust,dinfuehr/rust,zaeleus/rust,l0kod/rust,quornian/rust,cllns/rust,jbclements/rust,kimroen/rust,defuz/rust,nham/rust,andars/rust,0x73/rust,jashank/rust,mvdnes/rust,ktossell/rust,philyoon/rust,reem/rust,jashank/rust,barosl/rust,mahkoh/rust,rohitjoshi/rust,nwin/rust,dinfuehr/rust,emk/rust,barosl/rust,bombless/rust,nwin/rust,XMPPwocky/rust,vhbit/rust,graydon/rust,barosl/rust,barosl/rust,victorvde/rust,rprichard/rust,l0kod/rust,hauleth/rust,aepsil0n/rust,pshc/rust,pshc/rust,ktossell/rust,vhbit/rust,reem/rust,victorvde/rust,zachwick/rust,reem/rust,barosl/rust,dinfuehr/rust,jashank/rust,dinfuehr/rust,omasanori/rust,zachwick/rust,zubron/rust,kwantam/rust,jashank/rust,jroesch/rust,l0kod/rust,AerialX/rust-rt-minimal,zachwick/rust,seanrivera/rust,zubron/rust,avdi/rust,aneeshusa/rust,kimroen/rust,nham/rust,graydon/rust,avdi/rust,cllns/rust,ebfull/rust,dwillmer/rust,sae-bom/rust,pshc/rust,philyoon/rust,P1start/rust,nwin/rust,vhbit/rust,aepsil0n/rust,ejjeong/rust