eject: use CDROM_DRIVE_STATUS if available for tray toggling
One some platforms, the -T option can be unreliable (see reference bug
report for some examples). Instead, if the kernel supports the cdrom
status ioctl, use that to ask explicitly for the current tray status
and then open/close accordingly.
The eject_cdrom() func was reworked slightly, but none of the existing
callers care about the explicit normalization to [0,1] values, so have
it return the raw value so we can convert toggle_tray() over to using
that.
Finally, now that toggle_tray() uses a lot of helper functions, drop
the check on CDROMCLOSETRAY. The sub-functions take care of that.
Reference: https://bugs.gentoo.org/261880 Signed-off-by: Mike Frysinger <vapier@gentoo.org>