[MRG+1] MAINT: create ensure_symmetric utility function to check matrix symmetry

(first commit of this is from PR #4021)

This PR creates a utility function called ``ensure_symmetric`` which checks whether a matrix is symmetric. This also fixes a (possible?) bug in the validation check for ``spectral_embedding``: it compares the absolute difference of the matrix with its transpose.
> This assertion fails on my machine. Any idea why I'm getting a different result than you?

I meant to write 1e-5, and wrote 1-5 instead... that's why...