Predicting Heart Failure: Invasive, Non-Invasive, Machine Learning and Artificial Intelligence Based