Spring cleaning, remove dead code and OPPLE conditionals
Report blocksize of 512 for all zvol devices, similar to geom provider on FreeBSD
CPP replaced C version months ago
Debugging fixes

Dead code in assertions required some cleanup to be able to make
debug compiles.
Fixes rollback while unmounted.

Resolves https://github.com/openzfsonosx/zfs/issues/155

The note for dsl_dataset_rollback mentions
If owner != NULL:
- The existing dataset MUST be owned by the specified owner at entry
- Upon return, dataset will still be held by the same owner, whether we
  succeed or not.

So we need only be concerned if ds->ds_owner comes back NULL when
we were handed ddra->ddra_owner != NULL.

In particular, zfs_ioc_rollback will only call zfs_suspend_fs and
zfs_resume_fs when getzfsvfs(fsname, &zsb) succeeded.
Turn off VOL_CAP_INT_READDIRATTR in "valid" field, too

The vol_capabilities_attr_t has two fields, "capabilities" and
"valid," but when VOL_CAP_INT_READDIRATTR was re-disabled, it
was only commented out in "capabilities."
Purge mount name cache on suspend_fs, for rollback etc.
Fix zvol export LOR based on FreeBSD patch for similar LOR:
https://github.com/freebsd/freebsd/commit/1d8972b3f353f986eb5b85bc108b1c0d946d3218
hopefully to address the problem with pool-in-zvol-export-deadlock
in issue #157
ZVOL: Set our devices in IOKit to be type 'Virtual'
libefi: Fetch device type and check for virtual
Fix the logic fubar
Attempt to detect inactive spa for zvol export
Use spa_suspended() API
spa_open has namespace mutex recursion checks for vdev unloading time, but
on OSX, this comes as a separate thread (IOkit) so we need a little extra
protection.
Clean up debug prints for osx_device_isvirtual.
Style and whitespace changes in __APPLE__ portions of rdwr_efi.c
Do not basename every block device.

We may need to consider something like ZOL does if we have an
equivalent of Linux's /dev/disk/by-*, but until then we should
only delete '/dev' from displayed vdev paths starting with
'/dev/disk' or '/dev/rdisk'. This lets us see the full path
to zvol vdevs (and therefore, to which pool they belong) when
imported using their symlinks in '/var/run/zfs/zvol/dsk/*/'.

For example, if a user imports

    zpool import -d /var/run/zfs/zvol/dsk/tank/ tankinatank

we will now display the vdev as '/var/run/zfs/zvol/dsk/tankinatank/myvol'
in 'zpool status' rather than just 'myvol'.

Also, since OS X symlinks var -> private/var, there's no reason
to display the '/private'.
CoreStorage LVs, not CoreStorage PVs, should be set whole_disk=0.

When considering whether a device is a 'whole disk' in the ZFS sense,
we need to check for a CoreStorage Logical Volume (LV) not for a
CoreStorage Physical Volume (PV).

Checking for a CoreStorage PV is more appropriate if trying to detect
a pre-existing file system on a device, as we might do if adding
additional protections against accidentally supplying 'zpool create'
with the wrong device.
osx_device_isvirtual need not worry about symlinks.

fcntl(fd, F_GETPATH, pathbuf) is essentially the equivalent of
realpath, so all symlinks should already have been resolved by
the caller by the time we're in osx_device_isvirtual.
Make default zvol blocksize match upstream of 8192.
Merge branch 'master' of github.com:openzfsonosx/zfs