don't use packagename for path to data directory

in the case of the core package, android system, the path to
the data directory, '/data/system/', differs from the name of the
package, 'android'.

variable backupDir renamed to backupSubDir to avoid confusion
as it points to the package subdir of the backup directory.
fix bugs when backupdir is oab's own data directory

add check to doBackup and restoreApk to determine if backupDir
is own datadir. if true, doBackup needs to set permissions on the
backed up files before zipping. restoreApk needs to copy the
apk to a temporary directory on the external storage because
`pm install` doesn't work when the file is in the data directory.

shares are also affected by this. proper permissions for the
shared uri should be set per transaction with FileProvider.
only make zip if new data is backed up

fixes bug where previous zip was deleted if a backup was
made of only the apk.