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 2200 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: I4de4e7279e58d599ab668f0df79f36ea6e26a099