netns: Make Do() a `//go:nosplit` function.
netns: Make Do() a `//go:nosplit` function.

This imposes some additional restrictions on the callback passed in to
Do(), which we unfortunately can't enforce in any safe way.  But at least
with //go:nosplit we're more likely to crash than continue to execute in
the wrong context.  Note that we can't use `defer` anymore as well.

See this thread:
https://groups.google.com/d/topic/golang-nuts/ss1gEOcehjk/discussion

Change-Id: I7859e18b0aa29daa390da1eade6532af35ffcf11

aristanetworks/goarista,aristanetworks/goarista