code: public static <T> Observable<T> start(Func0<T> func, Scheduler scheduler) {
          return startCallable(func, scheduler);
      }
docs: Invokes the specified function asynchronously on the specified Scheduler and returns an Observable that
  emits the result.
  <p>
  Note: The function is called immediately and once, not whenever an observer subscribes to the resulting
  Observable. Multiple subscriptions to this Observable observe the same return value.
  <p>
  <img width="640" src="https://raw.github.com/wiki/ReactiveX/RxJava/images/rx-operators/start.s.png" alt="">
  <p>
  @param <T> the result value type
  @param func function to run asynchronously
  @param scheduler Scheduler to run the function on
  @return an Observable that emits the function's result value, or notifies observers of an exception
  @see <a href="https://github.com/ReactiveX/RxJava/wiki/Async-Operators#wiki-start">RxJava Wiki: start()</a>
  @see <a href="http://msdn.microsoft.com/en-us/library/hh211721.aspx">MSDN: Observable.Start</a>