A Comprehensive Review on Crime Patterns and Trends Analysis using Machine Learning