title: sklearn.manifold.TSNE fit_transform actually return something on empty numpy array
body: <p>Why does <code>tsne.fit_transform([[]])</code> actually returns something?</p>
  
  <pre><code>from sklearn.manifold import TSNE
  import numpy
  
  tsne = TSNE(n_components=2,
      early_exaggeration=4.0,
      learning_rate=1000.0,
      metric='euclidean',
      init='random',
      random_state=42)
  
  # returns [[  4.96714153e-05  -1.38264301e-05]]
  print tsne.fit_transform(numpy.array([[]]))
  </code></pre>
  
  <p>But changing <code>init</code> from <code>random</code> to <code>pca</code> raises exception: <code>ValueError: failed to create intent(cache|hide)|optional array-- must have defined dimensions but got (0,)</code>. </p>