- Added fshfsr_lock to fsh_fsrec_destroy(). Why? Without it, this
  might happen:
  1. fsh_hook_remove() stops inside fshi_rele().
  2. vfs_free() is called, fsh_fsrec_destroy() stops before
  list_remove_head().
  3. Concurrently, fshi_rele() and fsh_fsrec_destroy() remove an
  entry from the list. fshi_rele() holds the fshfsr_lock, but
  fsh_fsrec_destroy() doesn't.

- fsh_prepare_fsrec() changes to fsh_fsrec_prepare() for naming
  consistency.

- Exceptions from fsh_fsrec_prepare() rule are explicitely stated.

- Fixed the locking chapter in introduction to fsh.

- Changed placement of firing remove_cb() in fshi_rele() for
  consistency.

- Calling fsh_callback_{install,remove}() is now forbidden inside
  {mount,free} callbacks.

- Added (it was deleted before) fsd_callback_free().
fsd_mount_callback() wasn't checking if fsd_detaching is true. Now it
does.
Disabled fsd allows more operations.
Uninitialised static variables after fsd_detach() fixed.
Added fshtestadm

Conflicts:

	usr/src/cmd/Makefile
	usr/src/uts/common/io/fsd/fsd.c
	usr/src/uts/common/io/fshtest/fshtest.c
	usr/src/uts/common/io/fshtest/fshtest.conf
	usr/src/uts/common/sys/fshtest.h
fsht_detach fixed
pbchk fixes in fsd.c and fshtestadm.c
Added enabled/disabled flag to fsht.
Updated fshtestadm accordingly.
fshtest suite

Conflicts:

	usr/src/cmd/Makefile
Small fshtest fixes.
Small fshtestrun update.
Fixed a bug in fshtest.
Increased the sleep time in fshtestrun.
Merge branch 'fsd_new' into fsh_test

Conflicts:
	usr/src/cmd/Makefile
git pbchk fixes
Added fshtest to makefiles.
Fixing fshtest after git merge.
lint fixes
little change
typo
Completely new fshtest and fshtestadm.
fshtestadm fix.
Redundant fshtest code removed.
Fixed a silly bug (struct of unions instead of an union of structs)