TaskのOnCompleteの挙動修正/TaskのCancel,ForceCancelを繋げて書けるようにした

■TaskのOnCompleteの挙動修正
- 既にそこまでのTaskが完了している場合に、OnCompleteで設定したcallbackが宣言時に呼び出されていたのでUpdate時に呼び出されるように修正

```
Task.Empty().OnComplete(_ => Console.WriteLine("1")).OnComplete(_ => Console.WriteLine("2")).Start(runner);
Console.WriteLine("---start---");
runner.Update(20);
```

before:
```
1
2
---start---
```

after
```
---start---
1
2
```


■TaskのCancel,ForceCancelを繋げて書けるようにした
```
{
    hoge().OnComplete(Console.WriteLine("Complete!!!"));
}

Task hoge() {
    if (なにかしらの事情で実行してはならない) return Task.Empty().ForceCancel();

    //通常処理
    return new Task(Worker);
}
```
みたいな関数が作りたかった。

■
それ想定していた挙動と違うとか、
今までのコードの挙動が変わるとか、
既にそれは実現できるとかあったら
つっこみおねがいします。