Added new kernels to Mean Shift clustering

Discussion started 2 years ago on implementing other kernels besides the flat kernel, see thread here: https://github.com/scikit-learn/scikit-learn/issues/442

The advantage of the rbf/Gaussian kernel over the flat kernel is shown here: http://sociograph.blogspot.nl/2011/11/accessible-introduction-to-mean-shift.html

I implemented the code from the issue thread and added 2 more kernel types. The new function _kernel_update has a docstring. The main function docstring is updated. Pyflakes runs without errors. Pep8 runs with 1 minor error about indenting. The example for MeanShift clustering still runs without errors.