[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.
Oh, and for a numpy array, ``abs`` and ``np.abs`` point to identical code (the ``np.core.absolute`` ufunc). Is there another reason to prefer one over the other?