check for null on listFiles when compressing

also changed the fileList variable from global to local.
only display option to back up apk if there is a path to it

with the introduction of special backups there will be apppinfos
without a path to sourcedir. check for that so the option to
back up apk isn't displayed and the method to delete old apks
isn't called if there isn't an apk.
remounting with toolbox mount when restoring system apps

for some reason busybox mount in some situations fails without error
when remounting. toolbox mount generally seems to be safe.
show su error message more prominently
use SparseIntArray instead of HashMap<Integer, Integer>

sparseintarray is more memory efficient than mapping mapping
integers using a hashmap.
http://developer.android.com/reference/android/util/SparseIntArray.html
use english locale instead of root

the root locale has an api level too high. use the english locale
instead for language-independant conversions to lower case.