Generally bring in additional sf_buf improvements from FreeBSD-5. Separate
the wiring used by sendfile into its own mbuf_ext support code and remove it
from the sf_buf code. Alan Cox's uiomove_fromphys() was expecting to use
the cleaner version of sf_buf. This fixes a long standing bug related to
multiple mbuf refs in the sendfile() code and also fixes recent bugs
introduced to the PIPE code from the importation of uiomove_fromphys() (due
to differences in the sf_buf API). The sf_buf API is now more normalized
towards FBSD-5.
Note that the mbuf_ext API has not changed, and is very differnt from
FBSD-5 in regards to handling multiple references. Introduce some temporary
hacks to sf_buf to get around the fact which will be pulled when the
mbuf_ext API is updated later on.