[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.
I'm being silly. I'd been thinking of `(A.data - A.T.data)`. Very silly of me. You can ignore me now.... I'll think about whether there are actually cases this will give false positives!