Modelling single atom catalysts for water splitting and fuel cells: A tutorial review