add mtp responder to TWRP.
Big thanks to Dees_Troy for helping with the implementation.

Change-Id: I6c9c522b9c9de5dc139e2ecb0141008182ba07f0
Refresh partition details after changing file system

Change-Id: I24f3c8587f778c4f0ef43737243c8378a3fd0e00
Build block TWRP with RECOVERY_VARIANT

Enable TWRP to reside alongside other recoveries with the naming
convention: bootable/recovery(-flag). If TWRP resides at
bootable/recovery and a device does not specify RECOVERY_VARIANT, then
it will build like normal. If TWRP resides at bootable/recovery-twrp,
then its makefiles will only be parsed if a device specifies
'RECOVERY_VARIANT := twrp'. This prevents TWRP specific makefile
warnings/errors (notably, missing DEVICE_RESOLUTION) when another
recovery is being built.

Change-Id: I8f02fffcd79c309c7123b9428eedc69af02e126e
Only use SELinux tools from toolbox if not in busybox

If busybox has SELinux support, we don't need toolbox to provide SELinux
specific tools. Check busybox for restorecon to see if SELinux support
is present and then adjust the tools built by toolbox based on this.

Change-Id: I30a2b036b97ac3e26510d5e0498c52d7a8af36e1
Ensure that MTP is enabled by default

Change-Id: Ibd644509935cde1e52b3d368060fdcb6e16f4a99
Improve error handling during MTP startup

Change-Id: I9395481dd8d9cbd3346fe6682557236b48b4d6cd
Allow toggle of MTP debug

Via command line in TWRP:
twrp set tw_mtp_debug 1

This will enable debugging for MTP. You will need to disable and
re-enable MTP in order to see the debug logging.

Change-Id: Ia7bb0c584e10a4322b65ecf80a67ed7ee836b38e
Improve MtpStorage handling when more than one storage is present

Change-Id: I02f1984d02a85d9fd42450cc3772e88a43d9e9ff
Allow MTP debug setting to stick through a reboot

Change-Id: I81eb5eaa2286c0ee3078e01304d65b9489f13bf2
Prevent MTP enable on startup if crash detected

Change-Id: Ie1388a8acadf714a29721dd90c7f9a8aa38a860d