MMC hang during reboot from dequeue of mmc device

This commit resolves the issue where the Intel Edison
will hang if rebooted more than once (repeated reboots).
It was found that the mmc device was being registerd
twice with 2 shutdown functions. When a device
reboot/shutdown operation was called the same mmc device
was trying to be cancelled from a workqueue. This
situation caused a race condition on the second operation
since the cancelled work will wait for completion.

Also added in code needed for proper resume setting for MMC
power state.

Change-Id: I1400df84e178d2b582725db2129ea7ee7c28a4da
Signed-off-by: Brian Wood <brian.j.wood@intel.com>
3 files changed