GSoC 2014: Standard Extreme Learning Machines

Finished implementing the standard extreme learning machines (ELMs). I am getting the following results with 550 hidden neurons against the digits datasets,

Training accuracy using the logistic activation function: 0.999444
Training accuracy using the tanh activation function: 1.000000

Fortunately, this algorithm is much easier to implement and debug than multi-layer perceptron :).
I will push a test file soon.

@ogrisel , @larsmans
This is not the ReLU activation but a smooth approximation. The traditional ReLU is non-smooth but cheaper to compute (inplace):

```python
    np.clip(X, 0, np.finfo(X.dtype).max, out=X)
    return X
```

As we do no gradient descent for the input to hidden layer weights of the ELM, there is really no point in using the smooth variant. For ReLU MLP trained with  LBFGS, a smooth ReLU might be useful but practitioners often use SGD that does not care that much about smoothness of the objective function.