title: IsDaylightSavingTime strange behaviour
body: <p>Why the method IsDaylightSavingTime() returns an apparently wrong value for a specific hour range? To be unambiguous i start from a UTC date. The time <code>new DateTime(2016, 10, 30, 0, 59, 0, DateTimeKind.Utc)</code> is the last minute of DST for WEST. Indeed in WEST it gives 2 hours of offset (2.59 am), while a minute later there is an offset of 1 hour (2.00 am). But then why:</p>
  
  <pre><code>TimeZoneInfo.ConvertTimeFromUtc(
      new DateTime(2016, 10, 30, 0, 59, 0, DateTimeKind.Utc),
      TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")
  ).IsDaylightSavingTime()
  </code></pre>
  
  <p>returns false?!</p>
  
  <p>This method returns false starting from <code>new DateTime(2016, 10, 30, 0, 0, 0, DateTimeKind.Utc)</code> (but why?), the second before, <code>new DateTime(2016, 10, 29, 23, 59, 59, DateTimeKind.Utc)</code>, it returns true.</p>
  
  <p>The TimeZoneInfo methods seems to work:</p>
  
  <pre><code>    var thisIsTrue = TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time").IsDaylightSavingTime(new DateTime(2016, 10, 30, 0, 0, 0, DateTimeKind.Utc));
  
      var thisIsFalse = TimeZoneInfo.ConvertTimeFromUtc(new DateTime(2016, 10, 30, 0, 0, 0, DateTimeKind.Utc), TimeZoneInfo.FindSystemTimeZoneById("W. Europe Standard Time")).IsDaylightSavingTime();
  </code></pre>