Supervised learning in spiking neural networks: A review of algorithms and evaluations. (May 2020)