Spectral, Probabilistic, and Deep Metric Learning: Tutorial and Survey