NFS - Use mutex API, begin refactoring the state machine.
* Use the mtx_*() API instead of roll-your-own locks for the send and
receive locks.
* Refactor nfs_request(). Break the procedure up into multiple pieces
for upcoming nfsiod/nfsd work (as in: getting rid of them).
The main thing here is to split off the 'setup', 'send', 'receive',
and 'process reply' parts. This will make it easier to construct
a kernel thread to i.e. just do the 'setup/send' part, and another
to do the 'receive/reply' part.