Now that the minor issues preventing zfs.c from using CFLAGS_EARLY have
been fixed, use that mechanism like everything else that needs the
OpenZFS spl headers. This simplifies things somewhat. Update comments to
document why zfs.c is still special, though in different ways.
Note: We also use the fact that NEED_SOLARIS_BOOLEAN is only defined in
an environment where the solaris compat boolean stuff will be defined
prior to this point (eg, when we're building zfs.c in libsa), but not in
other environments (like when we're building mkimage and various
stand-alone boot loaders that don't use libsa for space reasons (though
they should be changed to use the same ZFS compile env in the fullness
of time). This has to be done in the same change as using the ZFS_EARLY
stuff for zfs.c to not break zfs.c building for one commit.
Sponsored by: Netflix