BUG additive_chi2 missing in KERNEL_PARAMS

Also made the definition more readable and introduced frozen sets.
BUG + DOC fix Nystroem for other kernels than RBF

Fixes #1785, #1786.
TST added test of fit and transform for kernels for nystroem
COSMIT rm repetitive __main__ blocks from tests

These may seem convenient, but they have to updated along with the tests
and can give a false sense of security when that doesn't happen.
ENH allow additional kernels on KernelPCA

Also changed pairwise_kernels to raise ValueError instead of
AttributeError, as the latter is easy to mix up with a bug.
TST fix broken doctest
P3K developer docs
PY3: Disable lib2to3
PY3: fix urlopen in mldata and california housing loaders
PY3: used six.u to fix unicode variables in svmlight
PY3: fixed basestring in crossvalidation.py
PY3: six.moves.cStringIO to fix StringIO import
PY3: use b() convenience function for string literals

Had to use an exception in lfw.py; six.u didn't work
PY3: fix remaining cStringIO imports
PY3: ensuring file stream is read as binary
PY3: fix None comparison (when not in OS X) in test_k_means.py
PY3: fix for string literals in datasets' test_base.py
PY3: print function in coordinate descent doctest
PY3: used six.moves.xrange to fix xrange
PY3: replaced izip