Refactor twrpTar to use TarList

Eliminate the use of tarDirs and Generate_MultipleArcives in
favor of Generate_TarList so that we have one method for backup
creation instead of three.

Change-Id: I267937b6e40b32d43fbac8b4cca82f7468d4f94c
add fix /data/data contexts to fixPermissions
only compile symbols if selinux is defined
Change-Id: I7c8596360cdf2f715c8e1379fc55ea27d9370393
Speed up Partition::Update_Size() for devices with /data/media

* Skip /data/media when walking through the tree instead of getting
  size of whole /data, then getting size of /data/media (hence
  scanning /data/media twice) and substracting those values.
* /data/media can often be the biggest and deepest folder, so this
  can improve TWRP's initialization speed significantly.

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: I9bd54b25ee09c6a5ed32f521e06dff9f5d6a81d9
Add support for persistent variables in theme's <variables> section

* Add support for variables with persist="1", which will cause
  them saved into settings file and reloaded on next boot.
* This is handy for theme makers, who can use this to
  implement "theme settings".

Signed-off-by: Vojtech Bocek <vbocek@gmail.com>

Change-Id: I6415979011b38cbb15dec9909c445b02da6eadc0