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 not sure what you mean...

```
>>> x = sparse.csr_matrix([[0, 0], [1, 0]], dtype=bool)
>>> x.data
array([ True], dtype=bool)
>>> (x - x.T).data
array([-1,  1], dtype=int8)
>>> np.all(abs((x - x.T).data) < 1E-10)
False
```

Are you talking about a different type of binary matrix?