Only #include <sys/tls.h> on NetBSD

Sponsored by: EMC / Isilon Storage Division
#include libutil.h for fparseln on FreeBSD

Sponsored by: EMC / Isilon Storage Division
sh: Fix break/continue/return in multiline eval.

Example:
  eval $'return\necho bad'
When deciding whether to call m_pullup() even though there is adequate
data in an mbuf, use M_WRITABLE() instead of a direct test of M_EXT;
the latter both unnecessarily exposes mbuf-allocator internals in the
protocol stack and is also insufficient to catch all cases of
non-writability.

(NB: m_pullup() does not actually guarantee that a writable mbuf is
returned, so further refinement of all of these code paths continues to
be required.)

Reviewed by:	bz
MFC after:	3 days
Sponsored by:	EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D900