cam: better ioctl compatibility for cd
Unlike xpt and pass driver, there's no test for ENOTTY in cdioctl to try
the compatbility ioctls. Add one.
However, this is a disk ioctl, not a cdev ioctl. To get around this, we
cast the struct disk * to a struct cdev * to pass through. We cast it
back in a simple wrapper function.
PR: 198336
Sponsored by: Netflix
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D42666
Differential Revision: https://reviews.freebsd.org/D35312