Non-categorical variables in OneHotEncoder.

I added a `categorical_features` option to `OneHotEncoder`. It lets the user specify whether features / variables are categorical or not. Non-categorical features are not touched and are stacked as is at the end of the matrix. I was hesitating between using an array of indices or a boolean mask. I went for the former as it seems easier to handle for the user but I would be glad to change if other people think otherwise.

I'm thinking of adding a similar feature to `DictVectorizer` but I would like us to agree on whether I should use an array of indices or a boolean mask first.

CC @amueller @larsmans