fix segfault during shell nandroid backup/restore commands

Previously, to achieve a successful "adb shell nandroid backup" and
"adb shell nandroid restore [backup_path]", we have to disable
progress bar by manually removing '/sdcard/clockworkmod/.hidenandroidprogress'

Else, the recovery would crash with segfault

This patch disables progress bar update whenever ui is not initialized
adb shell nandroid backup/restore commands now work without any background hack

Change-Id: I525ceffffb1bad4ee8e62c3985e123dcda77c79e
Fixup nandroid-md5.sh with legitimate return code

The reason md5sum would return an error status code is because it was
being executed on . and .. paths. Only run md5sum on files and allow the
script to exit with an error status if md5sum fails.

Change-Id: Ieeaa5e65ab3cf6b6470815c3ec13cd3a8c8b6b5e
Only chmod backup/blobs directory if it exists

Change-Id: Ib1e250e8f77d84048a176f6ea896439a0454c512
enhance the progress thread update

- limit refresh interval to 200 msec for nandroid operations
- keep the progress background icon overlay updating for normal and
  indeterminate progress
- no more need to increment background icon overlay frames by caller

Change-Id: I643e30505f962ebbf67aae57baa06a296006e542
Refresh nandroid progress without on-screen text

* Remove display of files to ui - this was severely slowing backups
* Remove ui_nice functions since they are no longer used

Change-Id: Iaa8b6bc3989752016b296e6f087c64fc216e5f00
Enable cmdline nandroid backup of vold volumes

Issuing 'adb shell nandroid backup' just after recovery has started on a
device with vold managed primary storage will fail because vold has not
initd for nandroid. Let nandroid call vold_init. Subsequent calls to
vold_init should be of no concern since sock will be set and
vold_client_start() will return immediately.

Change-Id: I88b16ff0a8c5b058b58f81095f63374bfbf70b34
Merge branch 'cm-11.0' of https://github.com/CyanogenMod/android_bootable_recovery into HEAD