Fix a LOR issue with new NFS server.

In nfsrvd_rename(), the caller (RPC handler, via nfsrvd_dorpc)
locks and references the source directory vnode ('dp' in the
context) for us.

In the context, we are going to call VOP_FHTOVP, which is
expected to return the resuting vnode with a lock, to find
the target directory's vnode via a file handle.  The
underlying code is expected to lock that vnode before
returning.

Because we already have held the source directory's vnode,
grabbing the target's directory vnode can be harmful because
if there is some hierarchy relationship between the two,
the second lock may have been grabbed in the wrong order.

Solve this by releasing the source directory vnode's lock early.
We do so right before calling any VFS methods that would
grab more locks (we still have reference at this point which
would prevent the memory to get actually free'ed after we
released the lock).

Submitted by:	Rick Macklem <rmacklem@FreeBSD.org>
Ticket:		#3867
Refactor the various delete methods out of dastart().  Cleans up a bunch
of style and adds more modularity and clarity.

Obtained from:	Netflix
MFC after:	3 days

(cherry picked from commit 1a38eadae75759280e35b93ed5683f224eaed451)
Const-ify the new da_delete_functions.
Remove a redundant sanity check

Submitted by:	Steven Hartland
Obtained from:	Netflix
MFC after:	3 days

(cherry picked from commit bfbf95a9a25ffe82c3ee1ca6f2c6ffaf70edd43d)
Correct short delete issue in SCSI UNMAP support
Correct missing \n's in xpt_print's
Correct incorrect count being passed to short delete xpt_print

(cherry picked from commit db5c674847aba156ed1cc192559deabc12d290b4)

Ticket:	#3864
Allow delete_method sysctl to be set to "DISABLE".

(cherry picked from commit 2fd0db3dfd7f379b8a76e72f2ce8171b55efe1c7)
Add NO_RC16 quirk to make da driver avoid using READ CAPACITY(16) command
if possible.  Use it for Kingston JetFlash USB sticks, that are known to
return garbage in response to that command.

(cherry picked from commit d5767e96c877bfec4963b68c232f95fc2fdee4b9)
Add ALPHA support for the LSI 12 gig HBAs

This is at best alpha code, and likely to change
quite a bit as it gets massaged into shape
for FreeBSD.

Including this for testing, it is not production ready
in any way shape or form.
Add forgotten directory in previous commit.

Curse you git!
Chase changes backported to FreeNAS 9
Block PF in VNETs to prevent crashes until it is fixed.

Ticket:	#3789
Merge remote-tracking branch 'origin' into feature/hyperv