Make TWRP compile for arm64

-Remove dosfstools for arm64 until we can make it compile
-Fix TW_USE_TOOLBOX flag to work again
-Fix symlinking and handling of sh when using mksh
-Fix legacy properties to find futex_wake function
-Fix libcrecovery to not use bsd_signal anymore
-Fix rules for building with regards to libcrecovery
-Update toolbox_recovery rules to compile tools in lollipop
-Fix a few compile errors specific to arm64

Testers report that TWRP does not boot on Nexus 9 and we fail to
get a shell for adb shell. At least it compiles without errors.

Change-Id: I286be8628defb60cc527b8a548c0bdfcb0ebb574
diff --git a/libcrecovery/Android.mk b/libcrecovery/Android.mk
index d948dd1..8434d51 100644
--- a/libcrecovery/Android.mk
+++ b/libcrecovery/Android.mk
@@ -8,4 +8,10 @@
 LOCAL_MODULE_TAGS := eng
 include $(BUILD_STATIC_LIBRARY)
 
+include $(CLEAR_VARS)
+LOCAL_SRC_FILES := system.c popen.c
+LOCAL_MODULE := libcrecovery
+LOCAL_MODULE_TAGS := eng
+include $(BUILD_SHARED_LIBRARY)
+
 endif
diff --git a/libcrecovery/system.c b/libcrecovery/system.c
index 6d78ae9..c5dd550 100644
--- a/libcrecovery/system.c
+++ b/libcrecovery/system.c
@@ -66,11 +66,11 @@
     _exit(127);
   }
 
-	intsave = (sig_t)  bsd_signal(SIGINT, SIG_IGN);
-	quitsave = (sig_t) bsd_signal(SIGQUIT, SIG_IGN);
+	intsave = (sig_t)  signal(SIGINT, SIG_IGN);
+	quitsave = (sig_t) signal(SIGQUIT, SIG_IGN);
 	pid = waitpid(pid, (int *)&pstat, 0);
 	sigprocmask(SIG_SETMASK, &omask, NULL);
-	(void)bsd_signal(SIGINT, intsave);
-	(void)bsd_signal(SIGQUIT, quitsave);
+	(void)signal(SIGINT, intsave);
+	(void)signal(SIGQUIT, quitsave);
 	return (pid == -1 ? -1 : pstat);
 }