Add retryable feature.

This pull request brings a new **retryable** feature for future ver 2.1.0.

`task.try(n)` returns a new task that is retryable for `n-1` times, and is conceptually equal to

```
task.failure(clonedTask1).failure(clonedTask2)...
```

with n-1 failure-able.

### Usage

```
task.try(3).then { ...
    // this closure will be called even when task is rejected for 1st & 2nd try 
    // but fulfilled in 3rd try.
}

// shorthand
(task ~ 3).then { ... }
```