lcd/lcd: send address to fix new 4x20 row bug
time/timer0: implement generic millisecond timer
time/alarm: reimplement using timer0 (multiple alarms okay now)
time/alarm: remove unused alarm rewrite code
algo/fifo: use new alarm system; simplify volatile granularity
uart/uart: update for alarm and fifo changes