Update 'contains' signature to 'contains(Object)'

The original `contains` signature can not support the following codes:

```java
    public void test() {
        ArrayList<String> l = new ArrayList<String>();
        l.add("test");
        Observable<ArrayList<String>> o = Observable.<ArrayList<String>>from(l);
        o.contains(Arrays.asList("test"));
    }
```

This PR changes the signature from `contains(T)` to `contains(Object)`. It's also consistent with `equals(Object)`.

This change should not break the old codes.