always do a clean reboot

Change-Id: I576c054dc5ab6a080e499f26c8cb2a66ecb8ae42
fix the following bugs to better handle new vold code
- do not show partition sdcard entries for vold managed volumes until we have a valid blk_device2. That also caused a memory overflow
- make it possible again to partition old style blk_device volumes
- enable format voldmanaged devices to ext2 and ext3 with existing binaries by using optional blk_device2 (defined in recovery to NULL but not currently implemented by fs_mgr
- fix unexpected behavior when in format/partition menus and insert an usb key (REFRESH return code)
- ensure_path_unmounted() could not unmount /sdcard path on /data/media devices
- format_device() and format_volume() properly handle /sdcard path argument on /data/media devices

Change-Id: I2d5872690805e70175ba1346fd03978e3c2b879e
Do not log to screen when mounting/unmounting sdcards.
This will preserve logging for format/usb mount and for all USB OTG storage

Change-Id: I0ab41632b4b97d23a43471755e21d9750c6cfa04
friendly write_recovery_version()

Change-Id: I43ad3d2600b9529d726aac435f0091713786ac4f
merge CyanogenMod

Change-Id: I070d867b2d6c0d3ffe7d90dad6680c90b0588771