[DRIVERS] mmc: Fix SD card detection logic.

Currently there were following issues:
1. __mmc_send_if_cond() will generally fails on systems with eMMC
or normal MMC cards. This does not mean we should fail immediately.
2. __sd_send_op_cond() did not validate the OCR value returned by
ACMD41 commands. We should have atleast one valid voltage in OCR
returned ACMD41 after SD card is in powerup state. If the returned
OCR does not have valid voltage bits set then we don't have a valid
SD card.

The above described issues easily manifest on ARM Fast Models
because it emulates:
a. SD card (compliant with MMCv3.4) for image file < 2GB
b. eMMC card (compliant with MMCv4.4) for image file >= 2GB

This patch primarily fixes __mmc_detect_card_inserted() by fixing
above described issues so that we properly distinguish between
SD and MMC cards.

Signed-off-by: Anup Patel <anup@brainfault.org>