Add ability to parse iso8601 durations.

```
Duration.new("P1M1DT1M1S")
 => #<Duration:0x007ff9428efd30 @seconds=1, @total=2714461, @weeks=4, @days=3, @hours=10, @minutes=1> 
```

I'm not an ISO8601 expert, but it appears many implementations ignore
weeks in the format string. The Ruby iso8601 library does, and
postgresql does as well:

```
select interval '1w';
 interval
----------
 P7D
```

In order to better operate with those libraries, this library no longer
includes the week in the iso8601 format.