Bug: millis() delay off by +1 ms

The definition of delay(n) was changed a couple of releases ago, and is now "delay AT LEAST n milliseconds" rather than the previous version (which was pretty much "delay no more than n milliseconds.) The new version is more compatible with other programming environments, and generally "safer" for devices that actually need a delay.

Since the millisecond "ticks" are not synchronized WRT calls to delay(), there is always going to be error. Unfortunately, for the "typical" loop where you do "small" amounts of computations after each delay, the error is likely to always be a significant chunk of one millisecond (about 1 - ) There is additional error because the clock ticks at every 1024 microseconds rather than every 1000 microseconds...