Properly handle updates of variably-sized SA entries.

During the update process in sa_modify_attrs(), the sizes of
variably-sized SA entries are tracked in sa_lengths[] with the length
of the first variably-sized SA stored in index 0, the size of the second
in index 1, etc.  This patch causes all variably-sized SA entries to be
properly tracked.  This commit causes the sizes of all variably-sized
SAs to be properly tracked.

Previously, a size-changing updated of a variably-sized SA that occurred
when there were other variably-sized SAs in the bonus buffer would cause
the subsequent SAs to be corrupted.  The most common case in which this
would occur is when a mode change caused the ZPL_DACL_ACES entry to
change size when a ZPL_DXATTR (SA xattr) entry already existed.

The following sequence would have caused a failure when xattr=sa was in
force and would corrupt the bonus buffer:

	open(filename, O_WRONLY | O_CREAT, 0600);
	...
	lsetxattr(filename, ...);	/* create xattr SA */
	chmod(filename, 0650);		/* enlarges the ACL */