[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.
Sorry, not *any* binary matrix, but the most common sparse binary matrix, which only has explicit 1s:
```python
A = csr_matrix((10, 10))
A[5,7] = 1
assert np.all(np.abs(A - A.T).data < 1-5)
```

(and yes, you should be using np.abs)