Rewrite

- vdev_iokit_context.cpp removed from Makefile, disabled class net_lundman_vdev_io_context and in_ and out_ IOCommandPools
- vdev_iokit_context_t moved from vdev_iokit.h to vdev_iokit_context.h (which is still included)
- Restored vdev_iokit_context_alloc and _free, allocating an IOBufferMemoryDescriptor per zio request
- Resolved issue with vdev_reopen that would cause “zpool scrub” to fail and stall further IO
- Reworked vdev_iokit_io_start for correctness - removed vdev_cache and vdev_queue calls, fixed incorrect return values
- Added an additional test in vdev_iokit_status to check if the IOMedia object is in the process of terminating
- Verify zio->io_error is being returned to the ZFS stack with EIO rather than other error types
- Changed memory allocations to KM_PUSHPAGE, though it probably isn’t necessary in all cases
- Removed vdev_iokit_hold and _rele, kept vdev_iokit_state_change but only logs when called. all three are no-ops unless we have a reason to use them. hold and rele were not even being called, but state_change is
- Removed unneeded code from zfs_osx.cpp and zvolIO.cpp, also removed debug logging from multiple files
- cstyle fixes in all vdev_iokit* files

Tested:
- zpool create, import, export, destroy, and scrub
- single-vdev, multiple-vdev (2, 3, 4 drive), mirror (2, 3 drive), raidz (3, 4 drive), raidz2,(4, 5), raidz3 (5, 6), and ‘raid10’ multiple 2-way mirrored vdevs (4, 2x3, 3x2 drives).
- tested datasets and zvols for basic functionality

To do:
- finalize removal of all IOCommandPool and net_lundman_vdev_io_context, which can then be restored from previous commits if needed.
- DKIOCFLUSHWRITECACHE is expected to be done asynchronously. Currently this is done by calling IOMedia::synchronizeCache which blocks until complete. May not affect the zio pipeline but would like to revisit this.
- Retest vdev_iokit_read_rootlabel, vdev_iokit_read_label, and vdev_iokit_physio as these code paths are only followed when importing a root pool
- further testing