Text this: Machine Learning Algorithm for Malware Detection: Taxonomy, Current Challenges, and Future Directions