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/bmlutils/Android.mk b/bmlutils/Android.mk
index 7c6676b..7216775 100644
--- a/bmlutils/Android.mk
+++ b/bmlutils/Android.mk
@@ -3,6 +3,7 @@
 include $(CLEAR_VARS)
 
 BOARD_RECOVERY_DEFINES := BOARD_BML_BOOT BOARD_BML_RECOVERY
+LOCAL_STATIC_LIBRARY := libcrecovery
 
 $(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
   $(if $($(board_define)), \
@@ -10,9 +11,6 @@
   ) \
   )
 
-LOCAL_STATIC_LIBRARIES := libcrecovery
-LOCAL_C_INCLUDES := $(commands_recovery_local_path)/libcrecovery
-
 LOCAL_SRC_FILES := bmlutils.c
 LOCAL_MODULE := libbmlutils
 LOCAL_MODULE_TAGS := eng
@@ -22,6 +20,7 @@
 include $(CLEAR_VARS)
 
 BOARD_RECOVERY_DEFINES := BOARD_BML_BOOT BOARD_BML_RECOVERY
+LOCAL_SHARED_LIBRARIES := libcrecovery
 
 $(foreach board_define,$(BOARD_RECOVERY_DEFINES), \
   $(if $($(board_define)), \