ide: fix drive availability check

Nadav explains:

  After commit 2a56d98d7de1db014d8ac03cca12ecfb524dd83c fixed the PCI
  offset constants, OSv suddenly became able to mount IDE devices.
  Unfortunately, on VMware, it wrongly recognized both an IDE and a pscsi
  device, resulting in two drivers trying to take the "vblk0" name and
  causing a sys_panic() and a crashed boot (see full stack trace in issue
  #369).

  It turns out that our IDE device recognition code wasn't diligent
  enough in trying to recognize devices which appear to be there, but
  actually aren't, as happened on VMware. Remember that a physical
  computer can have an IDE controller, but no disk actually plugged in,
  and so can the virtual counterpart. This patch adds better tests for the
  existence of the IDE disk, and now on VMware we no longer wrongly-see an
  IDE disk, and VMware boot is back to normal.

Fixes #369

Reviewed-by: Nadav Har'El <nyh@cloudius-systems.com>
Signed-off-by: Takuya ASADA <syuu@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>