ENH Added custom kernels to SpectralClustering

Fixes #1791.