Fixed an accidental infinite loop in local -> UTC conversion

The bug was in BrowserTimeZoneMap#getUtcTime(double), which previously
had the potential to loop forever.  Now, however, this method performs a
binary search over the space of possible UTC times for a local time, so
it is guaranteed to terminate whenever the difference between the
min and max boundaries of that range becomes <= 1, or becomes one ulp in
the case of times large enough that a double cannot represent all
integer values any more.