Remove pre-2.6.32 compatibility code (WIP)

This patch is the counterpart to zfsonlinux/spl#395 which removes the pre-2.6.32 kernel compatibility code.  By are large the core ZFS code isn't impacted by any of these changes but I've taken to opportunity to simplify some of the existing code and improve portability.

Depends on zfsonlinux/spl#395