[MRG] Supporting non array subclasses

The support (and test) for y being not an array subclass is implemented, but I still need to work on X.
Well, if it is not an array subclass, we cannot expect it to have a 'dtype' attribute, and a 'sum' method. So we need this.