A Comprehensive Analysis of Machine Learning Models for Algorithmic Trading of Bitcoin