Rich, fully attributed context timeout errors in Go

Making Go&rsquo;s generic context deadline exceeded errors traceable with small helpers that attribute the operation that timed out and indicate how long the timeout was.