Observable.from: refactor varargs to overloads

https://github.com/Netflix/RxJava/issues/359 Varargs cause compiler warnings
Observable.concat: refactor varargs to overloads

https://github.com/Netflix/RxJava/issues/359 Varargs cause compiler warnings

As part of this I also changed this:

```java
public static <T> Observable<T> concat(Observable<Observable<? extends T>> observables)
```

to

```java
public static <T> Observable<T> concat(Observable<Observable<T>> observables)
```

I documented the reasoning of this at https://github.com/Netflix/RxJava/issues/360#issuecomment-24121217
Observable.merge: refactor varargs to overloads

https://github.com/Netflix/RxJava/issues/359 Varargs cause compiler warnings
Observable.startWith: refactor varargs to overloads

https://github.com/Netflix/RxJava/issues/359 Varargs cause compiler warnings
Generic covariance of concat.

See https://github.com/Netflix/RxJava/issues/360#issuecomment-24125591
Observable.mergeDelayError: refactor varargs to overloads

https://github.com/Netflix/RxJava/issues/359 Varargs cause compiler warnings
Vararg change unit tests in Groovy
Merge pull request #361 from benjchristensen/issue-359-varargs

Fix vararg issues reported in https://github.com/Netflix/RxJava/issues/359