Data-driven state of charge estimation of lithium-ion batteries: Algorithms, implementation factors, limitations and future trends. (20th December 2020)