title: NSDateComponentsFormatter adds additional hour
body: <p>I found rather strange behavior of NSDateComponentsFormatter - for some time intervals it just adds additional hour to the result.</p>
  
  <p>I assume that for time intervals over 1 year, it could add a "leap hour", but in this case I see that time interval as short as 5 days results to 5 days and one hour.</p>
  
  <p>Consider this Test Case:</p>
  
  <pre><code>func testStringFromTimeInterval()
  {
      let formatter = NSDateComponentsFormatter()
      formatter.unitsStyle = .Positional
      formatter.allowedUnits = [.Year, .Month, .WeekOfMonth, .Day, .Hour, .Minute]
  
      XCTAssertEqual(formatter.stringFromTimeInterval(3600) ?? "", "1:00") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval(3600*24) ?? "", "1d 0:00") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval(3600*24*5) ?? "", "5d 0:00") // Fail: actual "5d 1:00"
      XCTAssertEqual(formatter.stringFromTimeInterval(3600*24*365) ?? "", "1y 0m 0w 0d 0:00") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval((3600*24*365)+60) ?? "", "1y 0m 0w 0d 0:01") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval((3600*24*365)+3600) ?? "", "1y 0m 0w 0d 1:00") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval((3600*24*365)+(3600*24)) ?? "", "1y 0m 0w 1d 0:00") // Pass
      XCTAssertEqual(formatter.stringFromTimeInterval((3600*24*365)+(3600*24*5)) ?? "", "1y 0m 0w 5d 0:00") // Fail: actual "1y 0m 0w 5d 1:00"
  }
  </code></pre>
  
  <p>Can you help to find a way to avoid adding that 1 hour?</p>
  
  <p>Thanks!</p>
  
  <p>Maris</p>