title: TimeSpan to ISO8601 duration format string
body: <p>Can anyone advise on how to convert a timespan or int to an ISO8601 duration string as explained in <a href="http://en.wikipedia.org/wiki/ISO_8601#Durations" rel="noreferrer">http://en.wikipedia.org/wiki/ISO_8601#Durations</a>?</p>
  
  <p>"1 hour and 30 minutes" would result in "PT1H30M", for example:</p>
  
  <pre><code>int duration = 90;
  string isoString = duration.ToIsoDuration();
  </code></pre>